环境变量推荐写法
📁 通用方案:/etc/profile.d/ 独立配置文件
这是 Linux 官方推荐的做法,不污染任何主配置文件,每个软件独立一个文件。
一、核心原则
/etc/profile.d/xxx.sh # 每个软件一个独立文件✅ 不修改
/etc/profile✅ 不修改
~/.bashrc✅ 删除文件即卸载,不留痕迹
✅ 所有用户自动生效
二、通用操作模板
1. 创建独立配置文件
vim /etc/profile.d/<软件名>.sh2. 写入标准格式
#!/bin/bash
# ============================================
# <软件名称> 环境变量配置
# ============================================
# 软件安装根目录
export <软件名>_HOME=/usr/local/<软件名>
# 将 bin 目录添加到 PATH
export PATH=$<软件名>_HOME/bin:$PATH
# 可选:其他自定义变量
export <软件名>_DATA=/usr/local/<软件名>/data
export <软件名>_CONF=/usr/local/<软件名>/conf3. 添加执行权限并生效
chmod +x /etc/profile.d/<软件名>.sh
source /etc/profile.d/<软件名>.sh通用操作模板
1. 创建独立配置文件
vi /etc/profile.d/<软件名>.sh2. 写入标准格式
#!/bin/bash
# ============================================
# <软件名称> 环境变量配置
# ============================================
# 软件安装根目录
export <软件名>_HOME=/usr/local/<软件名>
# 将 bin 目录添加到 PATH
export PATH=$<软件名>_HOME/bin:$PATH
# 可选:其他自定义变量
export <软件名>_DATA=/usr/local/<软件名>/data
export <软件名>_CONF=/usr/local/<软件名>/conf3. 添加执行权限并生效
chmod +x /etc/profile.d/<软件名>.sh
source /etc/profile.d/<软件名>.sh三、常用软件示例
示例 1:MongoDB
文件:/etc/profile.d/mongodb.sh
#!/bin/bash
export MONGO_HOME=/usr/local/mongodb/current
export PATH=$MONGO_HOME/bin:$PATH示例 2:Java
文件:/etc/profile.d/java.sh
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_341
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH示例 3:Redis
文件:/etc/profile.d/redis.sh
#!/bin/bash
export REDIS_HOME=/usr/local/redis
export PATH=$REDIS_HOME/bin:$PATH示例 4:Nginx
文件:/etc/profile.d/nginx.sh
#!/bin/bash
export NGINX_HOME=/usr/local/nginx
export PATH=$NGINX_HOME/sbin:$PATH示例 5:Python(自定义安装)
文件:/etc/profile.d/python3.sh
#!/bin/bash
export PYTHON_HOME=/usr/local/python3
export PATH=$PYTHON_HOME/bin:$PATH示例 6:Node.js
文件:/etc/profile.d/nodejs.sh
#!/bin/bash
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
export NPM_CONFIG_PREFIX=$NODE_HOME完整通用命令模板(可复制直接改)
# ============================================
# 一键创建任意软件环境变量(替换 <软件名>)
# ============================================
# 1. 创建配置文件
cat > /etc/profile.d/<软件名>.sh << 'EOF'
#!/bin/bash
# <软件名> 环境变量
export <软件名>_HOME=/usr/local/<软件名>
export PATH=$<软件名>_HOME/bin:$PATH
EOF
# 2. 添加执行权限
chmod +x /etc/profile.d/<软件名>.sh
# 3. 立即生效
source /etc/profile.d/<软件名>.sh
# 4. 验证
echo $<软件名>_HOME
which <命令名>快速创建脚本
把这个保存为 setenv.sh,以后直接复用:
#!/bin/bash
# ============================================
# 通用环境变量设置脚本
# 用法:./setenv.sh <软件名> <安装路径>
# 示例:./setenv.sh mongodb /usr/local/mongodb/current
# ============================================
NAME=$1
HOME_PATH=$2
if [ -z "$NAME" ] || [ -z "$HOME_PATH" ]; then
echo "用法: $0 <软件名> <安装路径>"
echo "示例: $0 mongodb /usr/local/mongodb/current"
exit 1
fi
# 创建配置文件
cat > /etc/profile.d/${NAME}.sh << EOF
#!/bin/bash
export ${NAME^^}_HOME=$HOME_PATH
export PATH=\$${NAME^^}_HOME/bin:\$PATH
EOF
# 添加执行权限
chmod +x /etc/profile.d/${NAME}.sh
# 立即生效
source /etc/profile.d/${NAME}.sh
echo "✅ 环境变量已设置:${NAME^^}_HOME=$HOME_PATH"
echo "✅ 执行 source /etc/profile.d/${NAME}.sh 或重新登录生效"使用方法:
chmod +x setenv.sh
./setenv.sh mongodb /usr/local/mongodb/current
./setenv.sh java /usr/java/jdk1.8.0
./setenv.sh redis /usr/local/redis验证环境变量
卸载/删除环境变量
# 删除独立配置文件
rm -f /etc/profile.d/<软件名>.sh
# 重新登录后自动失效,无需任何额外操作通用配置文件样板
如果你想自定义更多内容,用这个通用模板:
#!/bin/bash
# ============================================
# ${APP_NAME} 环境变量配置
# 维护人:${MAINTAINER}
# 创建时间:$(date +%Y-%m-%d)
# ============================================
# 基础路径
export ${APP_NAME}_HOME=${INSTALL_PATH}
# 子目录快捷变量(根据需要启用)
# export ${APP_NAME}_CONF=${INSTALL_PATH}/conf
# export ${APP_NAME}_DATA=${INSTALL_PATH}/data
# export ${APP_NAME}_LOGS=${INSTALL_PATH}/logs
# PATH 追加
export PATH=${INSTALL_PATH}/bin:${INSTALL_PATH}/sbin:${INSTALL_PATH}/scripts:$PATH
# 可选:其他配置
# export ${APP_NAME}_OPTS="-Xmx1024m"
原创
环境变量推荐写法
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法