第 6 章 Linux 环境变量¶
约 361 个字 20 行代码 1 张图片 预计阅读时间 2 分钟
环境变量传递配置与状态;区分全局/局部,掌握启动文件加载顺序。
6.1 概念¶
- 环境变量:子进程继承的全局变量(
export后) - 局部变量:仅当前 Shell 可见
6.2 设置与删除¶
规则:赋值 等号两侧无空格;引用用 $VAR 或 ${VAR}。
参数扩展(常用):
Bash
${VAR:-default} # VAR 空或未设置 → 用 default(不赋值)
${VAR:=default} # 同上,且把 default 赋给 VAR
${VAR:+value} # VAR 已设置 → value,否则空
${#VAR} # 字符串长度
${VAR/old/new} # 替换首个
6.3 开发者常见变量¶
| 变量 | 含义 |
|---|---|
HOME |
主目录 |
PATH |
命令搜索路径 |
PWD / OLDPWD |
当前 / 上次目录 |
USER / LOGNAME |
当前用户名 |
SHELL |
当前 Shell |
EDITOR / VISUAL |
默认编辑器(crontab、git 等会读) |
LANG / LC_ALL |
locale;排查乱码时 LC_ALL=C |
SSH_AUTH_SOCK |
ssh-agent 套接字 |
HISTSIZE / HISTFILESIZE |
历史条数 |
PS1 |
主提示符 |
6.4 PATH¶
6.5 启动文件加载顺序¶
登录 Shell:
/etc/profile(全局)~/.bash_profile/~/.bash_login/~/.profile(按存在顺序,读第一个)
交互非登录 Shell:
~/.bashrc(通常 source/etc/bashrc)
非交互 Shell:
- 读
BASH_ENV或~/.bashrc(视配置而定)
持久化技巧:
- 全局:
/etc/profile.d/*.sh - 用户:别名/函数 →
~/.bashrc;环境变量 →~/.bash_profile或~/.bashrc
cron 注意:cron 环境极简,脚本里应写 绝对路径 或脚本内 export PATH=...。