linux添加环境变量

以JAVA_HOME为例

用户登录时,会依次加载/etc/profile,/home/.bash_profile,其中/etc/profile文件末尾会遍历/etc/profile.d/*.sh,

方式一:
vim /etc/profile在最后添加内容.

export JAVA_HOME=/root/jdk1.8.0_301
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export PATH=$PATH:${JAVA_HOME}/bin

使立即生效

source /etc/profile

方式二(推荐,方便管理):

注意:\${PATH}把$转义了,否则会直接解析为环境变量的值输出到java.sh中,需要在加载环境变量时,拼接旧的$PATH,不然会覆盖其他shell设置的环境变量
不能使用cat << 'EOF' >,这样java.sh中就无法解析${JAVA_HOME},因为${JAVA_HOME}生效范围只在java.sh中

rm -rf /etc/profile.d/java.sh

cat << EOF > /etc/profile.d/java.sh
#!/bin/sh
export JAVA_HOME=/root/jdk1.8.0_301
export PATH=\${PATH}:${JAVA_HOME}/bin
EOF

source /etc/profile.d/java.sh
posted @ 2022-11-04 16:55  rm-rf*  阅读(105)  评论(0编辑  收藏  举报