插件窝 干货文章 Linux环境变量总结

Linux环境变量总结

变量 环境 使用 bash 269    来源:    2025-05-14

Linux环境变量总结

基本概念

环境变量是操作系统或应用程序运行时的动态值,它们影响进程的行为。在Linux中,环境变量是键值对的形式存在。

常见环境变量

  1. PATH - 指定可执行程序的搜索路径
  2. HOME - 当前用户的主目录路径
  3. USER - 当前用户名
  4. SHELL - 当前使用的shell路径
  5. PWD - 当前工作目录
  6. LANG - 系统语言设置
  7. EDITOR - 默认文本编辑器
  8. TERM - 终端类型
  9. PS1 - 主命令提示符定义
  10. LD_LIBRARY_PATH - 动态链接库搜索路径

查看环境变量

# 查看所有环境变量
env
printenv

# 查看特定环境变量
echo $PATH
printenv PATH

设置环境变量

临时设置(仅在当前shell有效)

export VAR_NAME=value
# 或
VAR_NAME=value
export VAR_NAME

永久设置

  1. 针对当前用户 - 修改~/.bashrc~/.bash_profile~/.profile
  2. 针对所有用户 - 修改/etc/environment/etc/profile
# 示例:添加到~/.bashrc
echo 'export VAR_NAME=value' >> ~/.bashrc
source ~/.bashrc

删除环境变量

unset VAR_NAME

特殊用法

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

    VAR_NAME=value command_to_run
    
  2. 添加路径到PATH

    export PATH=$PATH:/new/path
    
  3. 环境变量替换

    echo ${VAR_NAME:-default_value}  # 如果VAR_NAME未设置则使用默认值
    echo ${VAR_NAME:+alternate_value}  # 如果VAR_NAME已设置则使用替代值
    

不同shell的差异

  1. Bash - 使用~/.bashrc~/.bash_profile
  2. Zsh - 使用~/.zshrc
  3. Fish - 使用~/.config/fish/config.fish

环境变量继承

  • 子进程会继承父进程的环境变量
  • 使用export使变量对子进程可见
  • 使用local在函数中定义局部变量

最佳实践

  1. 将自定义环境变量放在用户级配置文件中
  2. 避免在系统级配置文件中修改PATH等变量
  3. 重要变量应该添加注释说明用途
  4. 修改后使用source命令使更改立即生效
  5. 敏感信息(如密码)不应存储在环境变量中

调试技巧

# 查看特定命令使用的环境变量
env -i command  # 使用空环境运行命令
env command     # 查看命令运行时环境

# 调试脚本时打印环境变量
set -x          # 开启调试模式
set +x          # 关闭调试模式

希望这份总结能帮助你更好地理解和使用Linux环境变量!