回答:
PROMPT_COMMAND
これは、PS1の前に実行される変数を変更することで実現できます。例:
PROMPT_COMMAND='ls'
これは、新しいプロンプトを受け取るたびにリストされます。もちろんls
、ディレクトリが変更された場合にのみ実行したい:
PROMPT_COMMAND='[[ $my_currdir != $PWD ]] && ls; my_currdir=$PWD'
これにより、新しいディレクトリが最後のディレクトリセットと同じでないかどうかが確認され、次に実行ls
されます。その後、現在のディレクトリがmy_currdir
私はここでさらに優れた行を見つけました。ここでは、bashをファイルマネージャとして使用しています。
PROMPT_COMMAND='[[ ${__new_wd:=$PWD} != $PWD ]] && list; __new_wd=$PWD'
設定されていない可能性__new_wd
があるため、その場合に使用されるデフォルト値を割り当てることができます(bash
manページを参照して、を検索:=
)