今天来读一段安装jdk的shell程序
#如果这个脚本所在的文件是可执行的,hash-bang( #! )会告诉操作系统使用什么解释器来运行脚本。 例如,在这种情况下它是/bin/sh
#!/usr/bin/sh
# 在/etc/profile中设置的是liunx的全局环境变量。当需要某些操作在系统运行起来就自动执行时,可以考虑将该部分代码写到/etc/profile文件中。
. /etc/profile
# sed编辑器 -i 在指定行上面插入 -e替换JRE_HOME=/jre为JRE_HOME=${JAVA_HOME}
sed -i /etc/profile -e 's@JRE_HOME=/jre@JRE_HOME=${JAVA_HOME}/jre@g'
#.空格 /etc/profile等同于$source /etc/profile 使修改后的profile文件立即生效
. /etc/profile
# 先手工卸载java
# vi /etc/profile 到最后部分删除java配置
# rm -rf /usr/bin/java
# 重新打开窗口,或者. /etc/profile
# 检查jdk是否已安装
if [ ! $JAVA_HOME ]
then
# 判断文件夹是否存在
if [ ! -e /usr/bin/java ]
then
# 创建临时文件夹
mkdir -p /usr/local/wuling/jdk/download
mkdir -p /usr/local/jdk
cd /usr/local/wuling/jdk/download
# oss下载安装包,并解压,解压后删除压缩包
aws s3 cp s3://auto-deploy-object/zfile/100_simple/01_jdk/jdk-8u211-linux-x64.tar.gz ./ --endpoint-url http://obs-sh-internal.woyun.cn
tar -zxvf $(pwd)/jdk-8u211-linux-x64.tar.gz -C /usr/local/jdk
rm -rf $(pwd)/jdk-8u211-linux-x64.tar.gz
# 配置环境变量
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_211
export JRE_HOME=\${JAVA_HOME}/jre
export PATH=\${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:\${JAVA_HOME}/lib/dt.jar:\${JAVA_HOME}/lib/tools.jar
EOF
# 创建软连接
ln -s /usr/local/jdk/jdk1.8.0_211/bin/java /usr/bin/java
# 重新加载配置文件
source /etc/profile
# 检查是否安装成功
java -version
echo "安装jdk成功"
rm -rf /usr/local/wuling/jdk
fi
fi
java -version
echo '安装jdk成功'
sed export JRE_HOME=/jre
linux知识点
- 文件目录与路径
- 如何执行一个.sh脚本
- sed编辑器
- shell流程控制
- 输入输出重定向
- cat命令
- 文件增删改
- vi文本编辑器