到目前为止,我只使用了在.bashrc
文件中定义的别名和函数,但是现在我需要知道如何配置一个函数,使其在我执行的每个命令之前/之后运行。我该如何实现?
有一个环境变量PROMPT_COMMAND
,请参见手册
PROMPT_COMMAND
如果设置了该值,则该值将解释为要在打印每个主提示(
$PS1
)之前执行的命令。
对于普通情况,请将其设置为别名:
PROMPT_COMMAND='echo "Something"'
对于更复杂的东西,您可以让它调用一个函数:
prompt_command () {
# If username has underscore, shorten to 'a_b'; else just use first letter
un="${USER:0:1}"
if [[ $USER == *?_?* ]]; then
local suff="${USER##*_}"
un+=_"${suff:0:1}"
fi
}
PROMPT_COMMAND=prompt_command
我用它来修改提示中的用户名,所以在我的其他地方.bashrc
有类似
export PS1="$un@\h \$"
user@host $
因此,通常会出现提示,但用户名会根据PROMPT_COMMAND
函数中的指定动态缩短。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句