Bash
關於終端成功和失敗的條件表情符號
我正在使用 Mac,我希望能夠為我輸入的每個成功命令顯示表情符號 X,為每個導致失敗的命令顯示表情符號 Y。
Bash 有一些變數可以讓你控制提示:
PROMPT_COMMAND
PS1
PS2
PS3
PS4
在這種特定情況下,只有
PROMPT_COMMAND
(在列印主要提示之前執行的程式碼) 和PS1
(主要提示) 是有幫助的。並且該變數
?
讓您知道最後執行的命令的退出狀態。例如:command if [[ "${?}" == '0' ]]; then echo 'OK' else echo 'ERROR' fi
因此,您只需要利用這些方便的功能:
# 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)\$ '
兩種方式都會列印出類似這樣的內容(假設您的初始提示是
$
):[OK]$ false [ERROR]$ true [OK]$
只需將
[OK]
和替換[ERROR]
為您想要的表情符號即可。您可以閱讀 Bash 手冊的控制提示部分以了解有關此主題的更多資訊。