绝技二"环境定盘"-Day36|永世定盘:写入配置文件永久生效

6 次阅读 2026-10-28 11:41

📖 知识点

1. 为什么写配置文件?

export 只对当前终端有效。想要 "每次打开终端都能用",就得把 export 写进配置文件—— 每次登录 / 开终端时系统自动读取并执行,变量就 "常住" 了。

2. 常用配置文件

 

 

文件何时加载说明

~/.bashrc

每次打开终端当前用户的 bash 配置(最常用)

~/.profile

登录时用户登录环境配置

/etc/environment

系统级全系统生效(要 sudo)

普通用户最常用的是 ~/.bashrc(你家目录下的 bash 配置)。

3. 把变量写入 .bashrc

用 echo 追加一行,或直接用 vim 编辑:

 

echo 'export MY_CITY=郑州' >> ~/.bashrc

 

>> 表示追加到文件末尾(不覆盖原有内容)。写完配置文件,变量就 "登记在册" 了。

4. 让配置立即生效:source

写完配置,当前终端还想马上用,用 source 重新加载:

 

source ~/.bashrc

 

source 配置文件 立即重新执行该文件,让新加的变量立刻生效,不用重开终端。

⚠️ 易错提醒

  1. >> 是追加,> 是覆盖 —— 写配置用 >>,别把.bashrc 原有内容冲掉

  2. 改完配置要 source ~/.bashrc 立即生效,否则要重开终端

  3. ~/.bashrc 是你的用户级配置,改系统级 /etc/environment 才需要 sudo

⚔️ Kata 实战任务

任务需求:

  1. 用 echo 追加把 export MY_CITY=郑州 写进 ~/.bashrc

  2. 用 source ~/.bashrc 立即生效

  3. 用 echo $MY_CITY 验证当前终端能读到

  4. (演示永久性)新开一个终端,再 echo $MY_CITY,应该也能读到

  5. 体会 "写进配置 = 永久生效"

参考代码(在终端依次敲)

 

# 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。这就是 "永世定盘",永久生效。

🧠 思考题

  1. echo 'export MY_CITY=郑州' >> ~/.bashrc 里的 >> 表示什么?换成 > 会有什么危险?

  2. 改完 ~/.bashrc 后,为什么需要 source ~/.bashrc?不 source 会怎样?