首页 / Linux 命令行入门教程 / 77. 配置文件加载顺序 与 PS1 提示符

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 控制。