📖 知识点
1. 为什么写配置文件?
export 只对当前终端有效。想要 "每次打开终端都能用",就得把 export 写进配置文件—— 每次登录 / 开终端时系统自动读取并执行,变量就 "常住" 了。
2. 常用配置文件
| 文件 | 何时加载 | 说明 |
|---|---|---|
| 每次打开终端 | 当前用户的 bash 配置(最常用) |
| 登录时 | 用户登录环境配置 |
| 系统级 | 全系统生效(要 sudo) |
普通用户最常用的是
~/.bashrc(你家目录下的 bash 配置)。
3. 把变量写入 .bashrc
用 echo 追加一行,或直接用 vim 编辑:
echo 'export MY_CITY=郑州' >> ~/.bashrc
>>表示追加到文件末尾(不覆盖原有内容)。写完配置文件,变量就 "登记在册" 了。
4. 让配置立即生效:source
写完配置,当前终端还想马上用,用 source 重新加载:
source ~/.bashrc
source 配置文件立即重新执行该文件,让新加的变量立刻生效,不用重开终端。
⚠️ 易错提醒
>>是追加,>是覆盖 —— 写配置用>>,别把.bashrc 原有内容冲掉改完配置要
source ~/.bashrc立即生效,否则要重开终端
~/.bashrc是你的用户级配置,改系统级/etc/environment才需要 sudo
⚔️ Kata 实战任务
任务需求:
用 echo 追加把
export MY_CITY=郑州写进~/.bashrc用
source ~/.bashrc立即生效用
echo $MY_CITY验证当前终端能读到(演示永久性)新开一个终端,再
echo $MY_CITY,应该也能读到体会 "写进配置 = 永久生效"
参考代码(在终端依次敲)
# 1. 把变量写进 .bashrc(追加,不覆盖)
echo 'export MY_CITY=郑州' >> ~/.bashrc
# 2. 立即生效
source ~/.bashrc
# 3. 验证当前终端
echo $MY_CITY
# 4. 新开一个终端,再验证(应该也能读到)
# (手动新开终端后执行)
echo $MY_CITY
运行示例:
user@linux:~$ echo 'export MY_CITY=郑州' >> ~/.bashrc
user@linux:~$ source ~/.bashrc
user@linux:~$ echo $MY_CITY
郑州
(新开终端后)
user@linux:~$ echo $MY_CITY
郑州
💡 观察:写入
~/.bashrc并source后,当前终端能读到;新开的终端也能读到 —— 因为每次开终端都会自动加载 .bashrc。这就是 "永世定盘",永久生效。
🧠 思考题
echo 'export MY_CITY=郑州' >> ~/.bashrc里的>>表示什么?换成>会有什么危险?改完
~/.bashrc后,为什么需要source ~/.bashrc?不 source 会怎样?
行者孙Python