Linux 命令行入门教程
77. 配置文件加载顺序 与 PS1 提示符
本教程共 90 篇 · 第 77 篇
77. 配置文件加载顺序 与 PS1 提示符
你每次开终端,Shell 都会偷偷读几个配置文件,把别名、变量、提示符样式加载好。搞清顺序,改配置才改对地方。
Shell 分”登录”和”非登录”两种场景,读的文件不一样:
- 登录 Shell(SSH 远程登录、纯文本控制台):先读
/etc/profile,再读/etc/profile.d/*.sh,最后读~/.bash_profile、~/.bash_login、~/.profile里第一个存在的。Ubuntu 的~/.profile通常会顺手把~/.bashrc也读进来。 - 非登录交互 Shell(桌面里点的终端窗口):先读系统级
/etc/bash.bashrc,再读你的~/.bashrc。
Tip桌面终端打开时走的是”非登录”路径,所以别名、PATH 追加、提示符这些,一律写进
~/.bashrc最稳,所有窗口都生效。
改动后让当前窗口立刻生效,不用重开:
source ~/.bashrc
提示符长啥样,由变量 PS1 决定。它的转义符很有用:
PS1='\u@\h:\w\$ '
\u 是当前用户,\h 是主机名,\w 是当前目录,\$ 普通用户显示 $、root 显示 #。想永久改,把这句加到 ~/.bashrc。
小结:登录 Shell 读 /etc/profile 和 ~/.profile,普通终端只读 ~/.bashrc;提示符样式由 PS1 控制。