Answers:
%(!.%{\e[1;31m%}%m%{\e[0m%}.%{\e[0;33m%}%m%{\e[0m%})
如果您是root用户,那应该可以将主机名(%m
)更改为其他颜色(红色)。我没有zsh shell可以对其进行测试,但它看起来正确。
原因如下:
%(x.true.false)
::根据三元组第一项的求值,执行正确的语句。'!' 如果外壳程序具有特权,则为true。实际上%#
是的捷径%(!.#.%)
。
%{\e[1;31m%} %m %{\e[0m%}
:: %{\e[X;Ym%}
是彩色换码序列,其中X为格式(粗体,下划线等),Y为颜色代码。请注意,您需要打开和关闭要更改颜色的术语周围的序列,否则该点之后的所有颜色都是任何颜色。%m
为了清楚起见,我在提示词附近添加了空格。
http://www.nparikh.org/unix/prompt.php提供了有关颜色表的更多选项和详细信息以及zsh的其他可用选项。
autoload colors
colors
PS1="%~ %{%(#~$fg[red]~$fg[blue])%}%#%{$fg[default]%} "
%(#
测试外壳程序是否以root用户身份运行。更改此项以%(!
测试外壳程序是否以提升的特权运行(这涵盖了诸如之类的内容newgrp
,但不是以root用户身份登录)。