是否有特定於資料夾的 .bashrc 或 .bash_profile?

是否有特定於資料夾的 .bashrc 或 .bash_profile?

是否有可能有一個僅在 cd'ing 到特定資料夾時執行的 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這不符合我的需求——我最終使用 git 別名將--config選項傳遞給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" }

它的回答來自這個答案

注意: 我的提示測試為.profilenot .bashrc

相關內容