Mac端末はPROMPT_COMMAND
デフォルトで履歴を確認し、現在の作業ディレクトリ(タブタイトル)を更新します。
echo $PROMPT_COMMAND
上部に追加すると、.bash_profile
以下が表示されます。
shell_session_history_check; update_terminal_cwd
PROMPT_COMMAND
デフォルト値を上書きせずに直接追加したいと思います。デフォルト値は、カスタム値の前にPROMPT_COMMAND
セミコロンとスペースで区切って表示する必要があります。
IntelliJやVS Codeなどの一部のプログラムにはデフォルト値がありません。したがって、この場合はスペース/セミコロンを含めたくありません。
ベストアンサー1
Bash 5.1からPROMPT_COMMAND
配列にすることができます。実行する最初のコマンドとして独自のコマンドを追加できます。
PROMPT_COMMAND=(mycommand "${PROMPT_COMMAND[@]}")
これは、既存の値がPROMPT_COMMAND
単一の文字列に複数のコマンドを含む場合にも機能します。
一般的に使用される macOS bash などの古い Bash では、次のものを使用できます.パラメータ拡張そのために:+
:
${parameter:+word}
もしparameter
空または設定されていない場合は、何も置き換えられず、そうでなければ拡張されます。word
交換されます。
一例:
$ unset var
$ var=${var:+"$var; "}XXX
$ echo "$var"
XXX
$ var=abc
$ var=${var:+"$var; "}XXX
$ echo "$var"
abc; XXX
したがって、既存のコマンドを添付したままにするために;
使用します。
PROMPT_COMMAND=${PROMPT_COMMAND:+"$PROMPT_COMMAND; "}'mycommand'
PROMPT_COMMAND
以前に空の場合は後ろにmycommand
含まれ、そうでない場合は;
既存のコマンドとの間に挿入されますmycommand
。