bashシェルでコマンドを実行するたびに他のコマンドを自動で実行する方法・PROMPT_COMMAND †bashシェルでコマンドを実行するたびに何かしらのコマンドを自動実行したい場合は、 以下に実際にPROMPT_COMMANDにコマンドを指定して試した実行例を記します。 参考記事 †PROMPT_COMMANDにコマンドを設定する †PROMPT_COMMANDにecho hello を設定してみます。 $ PROMPT_COMMAND="echo hello" 上記では、PROMPT_COMMANDに echo hello を設定してます。 実際に上記のコマンドを入力し、Enterキーを押すと、以下のように出力されるのが確認できます。 $ PROMPT_COMMAND="echo hello" hello 尚、Enterキーを押下するだけでも PROMPT_COMMAND に設定したコマンドが実行されます。 $ PROMPT_COMMAND="echo hello" hello $ hello $ hello $ hello PROMPT_COMMAND に関数を指定する †以下のようにすれば、関数を実行することも可能です。 変数iをインクリメントする関数です。 function cmd_count { if [ -z "$i" ]; then let i=0 fi let i++ echo "command count: $i" } これを PROMPT_COMMAND に以下のように設定します。 PROMPT_COMMAND="cmd_count" 実際にターミナル(端末)を起動し実行したときの出力になります。
ちなみに、PROMPT_COMMANDに設定した内容ををクリアする場合は、以下のようにすれば設定自体がクリアされます。 unset PROMPT_COMMAND unsetコマンドでPROMPT_COMMANDの設定をクリア(unset)しています。 すべてのターミナルで有効にしたい場合は、exportを使用する †上記例では、ターミナルを起動し、PROMPT_COMMANDにコマンドを設定しました。 以上、コマンドを実行するたびに指定したコマンドを実行する方法でした。 |