我想自定义 shell 的提示符。$PS1
和之间有什么区别$PROMPT_COMMAND
,我应该使用什么变量?很高兴知道一些历史约定(过去的 shell/posix)来找出更兼容的约定。
答案1
PROMPT_COMMAND
用于通过在每个提示打印到终端之前执行一个或多个命令来引入恼人的延迟。
PS1
用于设置主终端提示符。当保持在良好品味和适度的范围内时它是有用的(例如PS1='\h:\w\$ '
),但经常被滥用来增加烦恼,例如毫无意义的装饰(花哨的颜色,蜂鸣声,闪烁等),浪费宝贵的垂直屏幕空间(多行提示)和混乱使用错误终止的 ESC 序列启动终端。通过命令替换,它还可以通过在打印每个提示时执行命令来增加更烦人的延迟。
有关更多详细信息,请运行man bash
并搜索^PROMPTING
.手册页的子部分中还有各种与提示相关的变量(PS0
.. PS4
、、)的描述。PROMPT_COMMAND
PROMPT_DIRTRIM
Shell Variables