这可能有点边缘,但我最近转移到zsh并且我在定制shell提示符时遇到问题.
我的.zshrc的一部分看起来像这样:
# keeping this simple right now by just printing the date, but imagine this function would look for something specific when moving to a new directory each time
function parse_special {
print $(date)
}
autoload -U colors && colors
PS1="%{$fg[green]%}%n@%m %{$fg[blue]%}%c %{$fg[yellow]%}%{$(parse_special)%} %{$reset_color%}%# "
Run Code Online (Sandbox Code Playgroud)
当我发射终端时,一切看起来都很好; 我的提示符合我的期望:
me@someHost ~ Wed Aug 8 22:56:22 PDT 2012 %
Run Code Online (Sandbox Code Playgroud)
但是当我cd到另一个目录时,似乎我的parse_special函数没有被再次调用来重新计算我的自定义提示(注意日期没有改变):
me@someHost ~ Wed Aug 8 22:56:22 PDT 2012 % cd .ssh
me@someHost .ssh Wed Aug 8 22:56:22 PDT 2012 % cd ../workspace …Run Code Online (Sandbox Code Playgroud)