다른 사람들이 설명했듯이 디렉토리는 스크립트가 호출되는 터미널 프로세스가 아니라 스크립트의 자식 프로세스에서 변경됩니다. 자식 프로세스가 종료되면 터미널은 원래 있던 터미널로 돌아갑니다.
몇 가지 대안 :
1. 심볼릭 링크
집에 쉽게 접근하고자하는 긴 경로로 심볼릭 링크를 연결하십시오
$ ln -s /home/alex/Documents/A/B/C ~/pathABC
다음을 사용하여 디렉토리에 액세스하십시오.
$ cd ~/pathABC
2. 별명
~ / .bashrc에 별명을 넣으십시오.
alias pathABC="cd /home/alex/Documents/A/B/C"
( 여기에서 )
3. 기능
디렉토리를 변경하는 함수를 작성하면 함수는 터미널 프로세스에서 실행 된 다음 디렉토리를 변경할 수 있습니다.
( 여기에서 )
4. 어린이로 달리지 마십시오
스크립트를 실행하지 말고 소싱하십시오. 소싱 ( .
또는 수행 source
)은 스크립트가 자체 서브 쉘에서 실행되는 대신 동일한 쉘에서 실행되도록합니다.
$ . ./pathABC
( 여기 에서 여기로 )
5. CD 가능 변수
에서 cdable_vars
옵션을 설정하고 ~/.bashrc
디렉토리에 환경 변수를 작성 하십시오 .
shopt -s cdable_vars
export pathABC="/home/alex/Documents/A/B/C"
그런 다음 사용할 수 있습니다 cd pathABC
( 여기에서 )