创建脚本文件,我这里是deploy_jdk.sh
#!/bin/bash
#Author: lick
#安装jdk
color_red="echo -e \033[31m"
color_green="echo -e \033[32m"
colorEnd="\033[0m"
menu(){
cat << EOF
1.安装jdk
2.卸载jdk
q.退出
EOF
read -p "请输入选项:" choose
}
install(){
#1.创建jdk安装路径
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
echo "创建jdk安装路径/usr/local/java"
rm -rf /usr/local/java
mkdir -p /usr/local/java
read -p "请选择压缩包路径:" path
tar -xf $path -C /usr/local/java
if [ "$?" != 0 ] ; then
echo "解压失败了,程序将退出"
exit 0
else
echo "成功解压到usr/local/java"
fi
#2.配置环境变量
echo '#配置java环境变量' >> /etc/profile
echo 'export JAVA_HOME=/usr/local/java/jdk1.8.0_321' >> /etc/profile
echo 'export CLASSPATH=$JAVA_HOME/bin' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
#3.重新加载配置文件
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
echo '重新加载配置文件'
source /etc/profile
#4.查询java安装信息
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
echo '查询java安装信息'
java -version
}
remove(){
rm -rf /usr/local/java
vim /etc/profile << EOF
:g/配置java环境变量/normal 4dd
:wq!
EOF
source /etc/profile
java -version
$color_green 删除成功 $colorEnd
}
while true;do
menu
case $choose in
1) install;;
2) remove;;
q) $color_green正常退出...$colorEnd && exit;;
*) $color_red输入有误,请检查重来...$colorEnd ;;
esac
done
将脚本文件与文件夹放到一个目录下
在文件夹下执行命令 ./deploy_jdk.sh, 权限不够添加权限chmod +x /home/hz/jdk/deploy_jdk.sh
[root@iZbp1avecbxssqjfjy9tjkZ jdk]# ./deploy_jdk.sh
-bash: ./deploy_jdk.sh: 权限不够
[root@iZbp1avecbxssqjfjy9tjkZ jdk]# chmod +x /home/hz/jdk/deploy_jdk.sh
出现空格问题,解决空格问题sed 's/\r//' -i deploy_jdk.sh
[root@iZbp1avecbxssqjfjy9tjkZ jdk]# ./deploy_jdk.sh
-bash: ./deploy_jdk.sh: /bin/bash^M: 解释器错误: 没有那个文件或目录
[root@iZbp1avecbxssqjfjy9tjkZ jdk]# sed 's/\r//' -i deploy_jdk.sh
直接执行脚本选择1安装jdk,接下来就是输入自己的压缩包路径,然后执行,最后会报错,因为上面是去除了空格的,所以就变成了javaversion 会执行失败,自己输入java -version就好了
-bash: java: 未找到命令
如果出现这个问题,就检查脚本环境变量的位置,然后去
/usr/local/java/jdk1.8.0_321
检查自己的jdk文件名是否一致,然后进入更改配置文件
vi /etc/profile
将配置文件更改一下路径刷新即可
source /etc/profile