脚本模式生产环境下JDK环境变量的配置

0 阅读1分钟

脚本模式生产环境下JDK环境变量的配置

上传脚本和jdk压缩包

vim shell02_2026_02_09.sh

#!/bin/bash

# 开始使用前,请上传jdk文件和脚本为同一个目录

# 查找系统的jdk并删除
find / -name "jdk" | xargs rm -rf

# 创建安装jdk的目录
mkdir -p /opt/jdk
# 对jdk软件包进行解压,jdk为jdk-8u241-linux-x64.tar.gz
tar -zxvf jdk-8u241-linux-x64.tar.gz -C /opt/jdk
# 配置jdk的环境变量
echo "export JAVA_HOME=/opt/jdk/jdk1.8.0_241" >> /etc/profile
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile
echo "export CLASSPATH=.:/opt/jdk/jdk1.8.0_241/lib" >> /etc/profile
echo "export JRE_HOME=/opt/jdk/jdk1.8.0_241/jre" >> /etc/profile
source /etc/profile

让以上配置立即生效

source jdk.sh

验证JDK是否配置成功

java -version

注意:如果Shell脚本中包含source命令,则脚本的执行必须采用source 脚本名称.sh

原因

1.shell类型不匹配

# 脚本可能使用不同的shell解释器
# 例如:脚本用 #!/bin/sh 但 source 是bash特有的

2. source 是 bash/sh 内置命令

# source 不是普通命令,而是shell内置函数
type source    # 显示:source is a shell builtin

# 在某些情况下(如cron、systemd服务)可能无法正常工作

解决方案:

方案1:使用点号 . 代替 source

#!/bin/bash

# 使用点号,更通用的方式

. /etc/profile