定制zsh';显示上一个命令退出代码时的提示
Zsh能够使用定制zsh';显示上一个命令退出代码时的提示,zsh,exit-code,Zsh,Exit Code,Zsh能够使用%?转义序列在提示符中显示上一个命令的返回代码/退出代码 但是,我希望得到以下提示: user@host ~ [%?] % 当退出代码不同于0且: user@host ~ % 退出代码为0时 如果我单独使用%?,它将始终显示,即使%?为0。 此外,我需要方括号,但仅当退出代码不是0时 最简单的方法是什么?将其添加到PS1中要显示退出代码的位置: %(?..[%?] ) 这是一个条件表达式。如果第一个点之前的表达式为真,则输出两个点之间的部分(本例中为零)。如果第二个点后的部分
%?
转义序列在提示符中显示上一个命令的返回代码/退出代码
但是,我希望得到以下提示:
user@host ~ [%?] %
当退出代码不同于0且:
user@host ~ %
退出代码为0时
如果我单独使用%?
,它将始终显示,即使%?
为0。
此外,我需要方括号,但仅当退出代码不是0时
最简单的方法是什么?将其添加到
PS1
中要显示退出代码的位置:
%(?..[%?] )
这是一个条件表达式。如果第一个点之前的表达式为真,则输出两个点之间的部分(本例中为零)。如果第二个点后的部分为false,则输出该部分
例如:
PS1='%n%m %~ %(?..[%?] )%# '
或者,您可以:
setopt PRINT_EXIT_VALUE
始终打印显示先前返回值的换行符
我不喜欢将其用于普通用途,但它通常有助于调试shell脚本。这是对我的提示的极好补充。我目前在robbyrussell主题中进行了自定义:提示符=“${ret_status}%{$fg[cyan]]]}%n@%m:%4~%{$reset_color%}$(git_提示符_info)”