只显示主机名

# export PS1='[h :~]# '

结果

[myCentOS :~]#

显示用户名、主机名和当前工作目录及其路径

# export PS1='[u@h w :~]# '

结果

[root@myCentOS /var/lib :~]#

显示日期以及主机名和用户名

# export PS1='[u@h d]# '

结果

[root@myCentOS Sat Nov 10]#

显示主机名和当前工作目录名

# export PS1='[h W :~]# '

结果

[myCentOS lib :~]# pwd

显示用户名、FQDN和当前工作目录及其路径

# export PS1='[u@H w]# '

结果

[root@myCentOS.example /var/lib]#

显示当前shell名称以及用户名和主机名

# export PS1='[u@h s ~]# '

结果

[root@myCentOS -bash ~]#
[root@myCentOS -bash ~]# sh
[root@myCentOS sh ~]#

使用用户名和主机名显示当前时间

# export PS1='[u@h A ~]# '

结果

[root@myCentOS 16:22 ~]#

显示用户名、主机名和当前工作目录名

# export PS1='[u@h W :~]# '

结果

[root@myCentOS lib :~]# pwd
/var/lib
Linux 使用PS1自定义shell提示符

在我们登录linux系统时,会出现一个shell提示符。
例如

[jack@onitroad.com] #

交互执行时,bash在准备读取命令时显示主提示符PS1,在需要更多输入以完成命令时显示辅助提示符PS2。

Bash 允许通过插入许多反斜杠转义的特殊字符来自定义这些提示字符串,这些特殊字符说明如下:

字符说明
aASCII贝尔字符(07)
d“工作日-月日期”格式的日期(例如,“Tue Jan 26”)
D格式被传递到strftime(3),结果被插入到提示字符串中;以空的时间表示形式生成特定的区域设置。括号是必需的
eASCII转义字符(033)
h第一个“.”之前的主机名
H主机名
jshell当前管理的任务数
lshell的终端设备名称的basename
n新行
r回车
sshell的名称,basename为$0(最后斜杠后面的部分)
t以24小时HH:MM:SS格式显示的当前时间
T以12小时HH:MM:SS格式显示的当前时间
@以12小时am/pm格式显示的当前时间
A以24小时HH:MM格式显示的当前时间
u当前用户的用户名
vbash的版本(例如,2.00)
Vbash的发行版,版本+补丁级别(例如2.00.0)
w当前工作目录,其中$HOME以波浪号缩写(使用PROMPT_DIRTRIM变量的值)
W当前工作目录的basename,其中$HOME以波浪号缩写
!此命令的历史编号
#此命令的命令号
$如果有效UID为0,则为a#,否则为a$
nnn与八进制数nnn对应的字符
\反斜杠
[开始一系列非打印字符,这些字符可用于将终端控制序列嵌入提示符中

我们可以根据自己的需求修改 shell提示符。下面是一些例子。

显示主机名和当前工作目录以及完整路径

# export PS1='[h:w :~]# '

结果

[myCentOS:/var/lib :~]#

仅显示当前工作目录

# export PS1='[w :~]# '

结果

[/var/lib :~]#
日期:2020-06-02 22:18:43 来源:oir作者:oir