jdk安装自动化
写个在linux环境安装Java的脚本(install_java.sh),只需将jdk上传至/opt目录下,执行脚本即可。
#!/bin/bash #author:zhangyl #本安装使用jdk版本:jdk-8u191-linux-x64.tar.gz #将jdk上传到/opt目录下 #/opt目录下检查jdk是否存在 cd /opt jarFileNum=`ls .|grep jdk-8u191-linux-x64.tar.gz*$|wc -l` if [ $jarFileNum -ne 1 ];then echo "请确保当前目录中有且仅有一个jdk文件" exit 1 fi echo 发现 `ls jdk*` 存在,即将启动 #解压jdk到/usr/local目录 tar -zxvf /opt/jdk-8u191-linux-x64.tar.gz -C /usr/local #配置jdk环境变量 #sed -i '$a export JAVA_HOME=/usr/local/jdk1.8.0_191\nexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\nexport PATH=$JAVA_HOME/bin:$PATH' /etc/profile #or 以下方式配置 echo 'export JAVA_HOME=/usr/local/jdk1.8.0_191 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile #加载环境变量
source /etc/profile #打印jdk版本 java -version
jdk-8u191-linux-x64.tar.gz下载链接:https://pan.baidu.com/s/1qdll6ig1NKl0GnqmwqdvaA 提取码:5tm0
脚本调试问题记录:
配置jdk环境变量,出现如下问题:
![](https://img2022.cnblogs.com/blog/2110935/202210/2110935-20221013100701778-1851680706.png)
原因是脚本中jdk配置用了双引号:
echo "export JAVA_HOME=/usr/local/jdk1.8.0_191 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile
改为单引号即可解决。
单、双引号区别,以下说明:
1. 单引号:
单引号定义字符串所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。单引号是全引用,被单引号括起的内容不管是常量还是变量都不会发生替换。
ll=nginx echo '$ll'
输出:
$ll
2. 双引号:
双引号引用的内容,所见非所得。如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容。双引号是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。
ll=nginx
echo "$ll"
输出:
nginx
本文来自博客园,作者:查拉图斯特拉面条,转载请注明原文链接:https://www.cnblogs.com/n00dle/p/16784846.html