Bash 更改PS1提示

示例

要更改PS1,只需更改PS1 shell变量的值即可。该值可以在发行版中~/.bashrc或在/etc/bashrc文件中设置,具体取决于发行版。PS1可以更改为任何纯文本,例如:

PS1="hello "

除纯文本外,还支持许多反斜杠转义的特殊字符:

格式行动
\aASCII响铃字符(07)
\d以“工作日月份日期”格式显示的日期(例如“ 5月26日星期二”)
\D{format}将该格式传递给strftime(3)并将结果插入提示字符串中;空格式将导致特定于语言环境的时间表示。大括号是必需的
\eASCII转义字符(033)
\h主机名最多为第一个“。”
\H主机名
\jShell当前管理的作业数
\lShell的终端设备名称的基本名称
\n新队
\r回车
\s外壳程序的名称,$0的基本名称(最后斜杠后的部分)
\t以24小时制HH:MM:SS表示的当前时间
\T当前时间(12小时HH:MM:SS格式)
\@当前时间(上午12点/下午12点)
\A以24小时制HH:MM格式显示的当前时间
\u当前用户的用户名
\vbash的版本(例如2.00)
\Vbash的发行版,版本+补丁程序级别(例如2.00.0)
\w当前的工作目录,$HOME缩写为波浪号
\W当前工作目录的基本名称,$HOME缩写为波浪号
\!该命令的历史编号
\#该命令的命令号
\$如果有效UID为0,则为#,否则为$
\nnn*八进制数字nnn对应的字符
\反斜杠
\[开始一系列非打印字符,这些字符可用于将终端控制序列嵌入到提示中
\]结束一系列非打印字符

因此,例如,我们可以将PS1设置为:

PS1="\u@\h:\w\$ "

它将输出:

用户@机器:〜$