我想查看设置时使用的转义特殊字符的输出$PS1
。例如,放入\u
PS1 会输出当前用户的用户名。
所以本质上:
omar @ ~ > echo -e '\u'
预计:
omar
实际输出:
\u
我想查看设置时使用的转义特殊字符的输出$PS1
。例如,放入\u
PS1 会输出当前用户的用户名。
所以本质上:
omar @ ~ > echo -e '\u'
预计:
omar
实际输出:
\u
您可以使用@P
运算符进行参数扩展,如下所示:
prompt="\u"; echo ${prompt@P}
从 Bash 4.4 开始,您可以在参数扩展@P
中使用运算符:
${parameter@operator}
扩展要么是参数值的转换,要么是有关参数本身的信息,具体取决于运算符的值。每个运算符都是一个字母:
@P
扩展是一个字符串,它是扩展参数值的结果,就好像它是一个提示一样
以下是 PS1 命令可用的一些常见特殊字符:
下面列出了提示变量 PS0、PS1、PS2 和 PS4 中可以出现的特殊字符
\a
钟形字符
\d
日期,格式为“Weekday Month Date”(例如,“Tue May 26”)
\e
转义字符
\H
主机
\u
名 当前用户
\w
的用户名 当前工作目录
延伸阅读:
这是一种可用于显示转义字符值的方法。
下面定义的函数会将您当前的 PS1 更改为给定的字符串。输入命令后,您可以立即看到输出。
将您当前的 PS1 存储在变量中
> save=$PS1
创建重置函数
> function reset { PS1=$save; }
创建打印功能
> function omar { PS1="\\$1 "; }
如下使用它
> omar u
:您的命令提示符将是您的用户名
omar >
> omar @
:您的命令提示符将是 12 小时 am/pm 格式的当前时间
11:19 PM >
> omar h
:您的命令提示符将是主机名,直到第一个 `.'
omar-Laptop >
ETC...
您可以PS1
通过调用reset
或重新启动终端来重置您的