在 Linux 中,PS1 环境变量决定了终端提示符(Prompt)的样式。通过修改 ~/.bashrc 并重新加载,可以自定义提示符的显示效果。
1. 基本思路
echo 'PS1="...自定义内容..."' >> ~/.bashrc
source ~/.bashrc
~/.bashrc:Bash 的用户配置文件,每次新终端都会加载。PS1:Bash 的主提示符变量,用于定义提示符的格式。source ~/.bashrc:立即重新加载配置,让修改生效。
2. 示例代码解析
PS1="\[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]"
分段说明
| 代码片段 | 功能 |
|---|---|
\033]2;...\007 |
设置终端窗口标题(显示主机名、用户名、工作目录) |
\033[33;1m\u |
黄色字体显示当前用户 |
\033[35;1m\t\033[0m |
紫色字体显示时间 (HH:MM:SS),然后恢复默认 |
\033[36;1m\w\033[0m |
青绿色字体显示当前工作目录 |
\n |
换行,提示符分两行 |
\e[32;1m$\e[0m |
绿色 $ 作为提示符结尾 |
3. 显示效果
假设:
- 用户名:
myuser - 主机名:
myhost - 当前目录:
/home/myuser - 时间:
14:30:15
则提示符显示为:
myuser 14:30:15 /home/myuser
$
- 第一行:黄色用户名 → 紫色时间 → 青绿色目录
- 第二行:绿色
$,等待输入命令
4. 实际用途
- 增强可读性:颜色区分用户名、时间、路径。
- 区分主机:远程管理多台服务器时,避免误操作。
- 快速获取信息:无需额外输入
pwd或date。
5. 自定义示例
-
只显示用户+路径
PS1="\[\033[36;1m\]\u \w\[\033[0m\]\n$ " -
去掉时间
PS1="\[\033[33;1m\]\u \[\033[36;1m\]\w\[\033[0m\]\n$ "
修改后运行:
source ~/.bashrc
总结
通过设置 PS1,可以让终端提示符更直观,显示用户名、时间和工作目录,提升命令行使用体验。