最終的な成功と失敗の条件付き絵文字

最終的な成功と失敗の条件付き絵文字

私はMacを使用しており、入力したすべてのコマンドに対して絵文字Xを表示し、コマンドが失敗するたびに絵文字Yを表示したいと思います。

ベストアンサー1

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マニュアルのセクションを参照してください。

おすすめ記事