フォルダー固有の .bashrc または .bash_profile はありますか?

フォルダー固有の .bashrc または .bash_profile はありますか?

特定のフォルダーに cd したときにのみ実行される bash スクリプト (基本的には.bashrcまたは など)を作成することは可能ですか?.bash_profile

答え1

これを に追加します~/.bashrc

.bashrc現在の作業ディレクトリにある場合:

PROMPT_COMMAND='if [[ "$bashrc" != "$PWD" && "$PWD" != "$HOME" && -e .bashrc ]]; then bashrc="$PWD"; . .bashrc; fi'

答え2

具体的な使用例や制約に応じて、オンディールあなたのニーズに合うかもしれません:

ondir は、特定のディレクトリに固有のタスクを自動化する小さなプログラムです。ディレクトリに出入りするときに、ディレクトリ内のスクリプトを実行することで機能します。

これは、~/.ondirrcディレクトリごとの構成に中央ファイルを使用することで実現されます。対照的に、PROMPT_COMMAND @Cyrus が提案した巧妙な設定では、構成を個々のディレクトリ自体に配置できます。それぞれのアプローチは有効であり、処理する制約とデータによって異なります。

免責事項:個人的には使ったことはありませんondir。自動処理の方法を探しているときに見つけましたディレクトリごとの git ユーザー設定その場合、 はondir私のニーズに合わなかったので、--configにオプションを渡す git エイリアスを使用することになりましたgit clone

答え3

@Cyrus の回答からの追加: を使用する場合はzsh、 を使用する必要がありますprecmd():

PROMPT_COMMAND='if [[ "$profile" != "$PWD" && "$PWD" != "$HOME" && -e .profile ]]; then profile="$PWD"; source .profile; fi'
precmd() { eval "$PROMPT_COMMAND" }

回答はこの答え

注: 私のプロンプトはそうで.profileはないことをテストします.bashrc

関連情報