要更改PS1,只需更改PS1 shell变量的值即可。该值可以在发行版中~/.bashrc或在/etc/bashrc文件中设置,具体取决于发行版。PS1可以更改为任何纯文本,例如:
PS1="hello "
除纯文本外,还支持许多反斜杠转义的特殊字符:
格式 | 行动 |
---|---|
\a | ASCII响铃字符(07) |
\d | 以“工作日月份日期”格式显示的日期(例如“ 5月26日星期二”) |
\D{format} | 将该格式传递给strftime(3)并将结果插入提示字符串中;空格式将导致特定于语言环境的时间表示。大括号是必需的 |
\e | ASCII转义字符(033) |
\h | 主机名最多为第一个“。” |
\H | 主机名 |
\j | Shell当前管理的作业数 |
\l | Shell的终端设备名称的基本名称 |
\n | 新队 |
\r | 回车 |
\s | 外壳程序的名称,$0的基本名称(最后斜杠后的部分) |
\t | 以24小时制HH:MM:SS表示的当前时间 |
\T | 当前时间(12小时HH:MM:SS格式) |
\@ | 当前时间(上午12点/下午12点) |
\A | 以24小时制HH:MM格式显示的当前时间 |
\u | 当前用户的用户名 |
\v | bash的版本(例如2.00) |
\V | bash的发行版,版本+补丁程序级别(例如2.00.0) |
\w | 当前的工作目录,$HOME缩写为波浪号 |
\W | 当前工作目录的基本名称,$HOME缩写为波浪号 |
\! | 该命令的历史编号 |
\# | 该命令的命令号 |
\$ | 如果有效UID为0,则为#,否则为$ |
\nnn* | 八进制数字nnn对应的字符 |
\ | 反斜杠 |
\[ | 开始一系列非打印字符,这些字符可用于将终端控制序列嵌入到提示中 |
\] | 结束一系列非打印字符 |
因此,例如,我们可以将PS1设置为:
PS1="\u@\h:\w\$ "
它将输出:
用户@机器:〜$