autocdを使用してパスを変更した後、lsを自動的に実行します


8

したがって、ディレクトリを変更するたびに、新しいパスに自動的にが表示されるようにしlsます。
パスを使用して変更された場合の解決策はありますがcdautocdオプションを使用してパスが変更されたときに機能する解決策は見つかりませんでした。

とても便利でしょう、以前にそれを達成した人はいますか?

回答:


5

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があるため、その場合に使用されるデフォルト値を割り当てることができます(bashmanページを参照して、を検索:=

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.