当我在我的主目录时,我想阻止我的终端提示显示我所在的目录。
我正在使用zsh
。这是我的提示配置:
PROMPT=''
# Formatting
PROMPT+='%F{8}' # dark grey
# Non zero exit codes
PROMPT+='%(?..[Exit code %?] )'
# PID when relevant
if [[ $! -ne 0 ]]; then
PROMPT+='[PID $!] '
fi
# Current dir path
PROMPT+='[%~] '
# Formatting reset
PROMPT+='%f' # color reset
答案 0 :(得分:2)
setopt PROMPT_SUBST
PROMPT+='$([[ $PWD != $HOME ]] && echo "[%~] ")'
setopt PROMPT_SUBST
启用参数扩展($name
),命令替换($(command)
)和算术扩展提示中的em>($[exp]
或$((exp))
)$(command)
运行command
并替换其输出,例如$(echo foo)
将被替换为“ foo”。[[ exp ]]
计算条件表达式。仅当表达式为true时,它将返回零。请注意,[[ exp ]]
是zsh
的内置语法,而类似的[ exp ]
将运行外部[
(又名test
)命令。PWD
包含当前工作目录。HOME
包含当前用户的主目录。!=
测试不平等情况。&&
仅在左边的命令成功执行(即返回零)的情况下在右边运行命令echo "[%~] "
打印(部分)提示字符串。请注意,使用双引号是为了避免周围的单引号过早关闭。