是否有可能有一個僅在 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" }
它的回答來自這個答案
注意:
我的提示測試為.profile
not .bashrc
。