插件窝 干货文章 Linux 环境变量配置汇总

Linux 环境变量配置汇总

变量 环境 bash 配置 886    来源:    2025-04-13

Linux 环境变量配置汇总

环境变量简介

环境变量是操作系统或应用程序运行时的动态值,可以影响进程的行为。在Linux中,环境变量通常用于定义用户工作环境、应用程序配置和系统行为。

主要环境变量配置文件

1. 全局配置文件(对所有用户生效)

  • /etc/profile - 系统全局环境变量和启动程序
  • /etc/bash.bashrc - 系统级的bash shell环境变量
  • /etc/environment - 系统范围的环境变量设置

2. 用户级配置文件(对特定用户生效)

  • ~/.bash_profile~/.profile - 用户登录时执行
  • ~/.bashrc - 每次打开新的bash shell时执行
  • ~/.bash_logout - 用户退出shell时执行

常用环境变量配置方法

1. 临时设置(当前会话有效)

export VARIABLE_NAME=value

2. 永久设置

方法一:修改用户配置文件

# 编辑配置文件
vim ~/.bashrc  # 或 ~/.bash_profile, ~/.profile

# 添加环境变量
export PATH=$PATH:/your/custom/path
export JAVA_HOME=/path/to/java

# 使配置立即生效
source ~/.bashrc

方法二:修改全局配置文件

sudo vim /etc/profile

# 添加环境变量
export GLOBAL_VAR=value

# 使配置生效
source /etc/profile

方法三:使用/etc/environment

sudo vim /etc/environment

# 直接添加变量(不需要export)
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"

3. 针对特定程序的配置

可以在程序启动脚本中设置环境变量:

#!/bin/bash
export APP_HOME=/opt/myapp
/path/to/application

常用环境变量

变量名 用途描述
PATH 可执行程序的搜索路径
HOME 当前用户的主目录
USER 当前登录的用户名
SHELL 当前使用的shell路径
LANG 系统语言和字符集设置
PWD 当前工作目录
EDITOR 默认文本编辑器
PS1 命令行提示符格式
LD_LIBRARY_PATH 动态链接库的搜索路径
JAVA_HOME Java安装路径
CLASSPATH Java类文件搜索路径

查看环境变量

  1. 查看所有环境变量:
env
# 或
printenv
  1. 查看特定环境变量:
echo $PATH
# 或
printenv PATH

删除环境变量

  1. 临时删除:
unset VARIABLE_NAME
  1. 永久删除:从相应的配置文件中移除变量定义,然后执行source命令使其生效。

环境变量继承规则

  1. 登录shell:读取/etc/profile~/.bash_profile~/.bashrc/etc/bash.bashrc
  2. 非登录shell:只读取~/.bashrc/etc/bash.bashrc
  3. 图形界面启动的程序:通常读取~/.profile

注意事项

  1. 修改PATH变量时,通常使用$PATH保留原有路径:

    export PATH=$PATH:/new/path
    
  2. 多个路径用冒号:分隔

  3. 环境变量名通常大写,但不是强制的

  4. 修改全局配置文件可能影响所有用户,需谨慎操作

  5. 某些服务(如cron、systemd)可能有自己的环境变量加载机制

高级技巧

1. 在命令前临时设置变量

VAR=value command

2. 检查变量是否存在

if [ -z "$MY_VAR" ]; then
    echo "MY_VAR is not set"
fi

3. 设置默认值

# 如果VAR未设置,则使用default_value
echo ${VAR:-default_value}

4. 在脚本中保留环境变量

#!/bin/bash
# 保留调用者的环境变量
source script.sh
# 或
. script.sh

通过合理配置环境变量,可以大大提高Linux系统的使用效率和开发体验。