특정 폴더에 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 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
.