Zsh:提示中的条件 if/then

Zsh:提示中的条件 if/then

文档:http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html

在此用例中似乎不起作用。

用例:如果提示包含localhost则从提示中删除主机名,如果不提示包含主机名,例如:

(check %m contains 'localhost' then result empty, if not the use %m in prompt)

答案1

%m$HOST扩展为(在启动时从主机名初始化)的值。

所以你可以使用:

set -o promptsubst
PS1='${HOST##*localhost*}'

或者,$HOST通常不会更改(即使主机名更改也不会更改),并假设它不包含%字符:

PS1="${HOST##*localhost*}"

(在您的中展开它~/.zshrc)。

相关内容