我使用的是 Mac,我希望能够为我输入的每个成功命令显示表情符号 X,并为每个导致失败的命令显示表情符号 Y。
Bash 有一些变量可以让你控制提示:
PROMPT_COMMANDPS1PS2PS3PS4在这个特定场景中,只有PROMPT_COMMAND(在打印主要提示之前执行的代码)和PS1(主要提示)是有帮助的。
该变量?让您知道最后执行的命令的退出状态。例如:
command
if [[ "${?}" == '0' ]]; then
echo 'OK'
else
echo 'ERROR'
fi
Run Code Online (Sandbox Code Playgroud)
所以你只需要利用这些方便的功能:
# Using PROMPT_COMMAND
PROMPT_COMMAND='if [[ "${?}" == "0" ]]; then printf "[OK]"; else printf "[ERROR]"; fi'
# Using PS1
PS1='$(if [[ "${?}" == "0" ]]; then printf "[OK]"; else printf "[ERROR]"; fi)\$ '
Run Code Online (Sandbox Code Playgroud)
两种方式都会打印出这样的东西(假设你的初始提示是$):
[OK]$ false
[ERROR]$ true
[OK]$
Run Code Online (Sandbox Code Playgroud)
只需将[OK]和替换[ERROR]为您想要的表情符号。
您可以阅读Bash 手册的Controlling the Prompt部分以了解有关此主题的更多信息。
| 归档时间: |
|
| 查看次数: |
506 次 |
| 最近记录: |