是这样的,我本来不想学shell的,因为我觉得这玩意太麻烦了,后来我接触了Makefile发现Makefile更麻烦,所以我又回归shell的怀抱了(总得干点什么水本周工作)。
其实用脚本安装软件蛮麻烦的,起码写脚本的功夫我就直接装上了,而且对文件存放什么的严格要求,但是在某年某月的某一天我被喊去出差,然后抱着四个虚拟机光插件就装了快两天……我觉得还是有必要搞搞的,搞好了就不用出差了嘛。
以Centos7下的java 1.8.0 安装为例,常规安装方式如下
https://blog.csdn.net/mandiheyanyu/article/details/122454536
如果采用脚本的方式,首先新建一个.sh文件
vim test.sh
修改test.sh中的内容
#! /bin/bash
for j in `rpm -qa | grep java`
do
rpm -e --nodeps $j
done
mkdir /usr/local/java
mv jdk-8u171-linux-x64.tar.gz /usr/local/java
cd /usr/local/java
tar -zxvf jdk-8u171-linux-x64.tar.gz
echo "export JAVA_HOME=/usr/local/java/jdk1.8.0_171" >> /etc/profile
echo "PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile
source /etc/profile
echo `java -version`
当然以上脚本能正确运行的前提条件是这个系统里没有在/etc/profile中写入过java的路径(或许可以再优化一下,先提前读一下做一下判断什么的),并且jdk-8u171-linux-x64.tar.gz文件和test.sh放在同级路径下。
修改文件权限
chmod a+x test.sh
执行脚本
./test.sh
其他shell相关链接或资料
Linux shell 执行修改配置文件中的内容
https://www.cnblogs.com/Hackerman/p/9516115.html
Linux中执行 .sh 的方法
https://www.cnblogs.com/xiongduang/p/6736280.html
将执行结果存放到数组
i=0
list=()
for j in `ls *`
do
list[$i]=$j
i=`expr $i + 1`
done
echo ${list[@]}