![디렉토리를 변경하는 쉘 스크립트를 어떻게 얻을 수 있습니까? [복사]](https://linux55.com/image/63105/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EB%A5%BC%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%96%BB%EC%9D%84%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
다음은 루트로 다시 이동하기 위해 실행한 작은 테스트입니다.
#!/bin/bash
pwd
cd /
pwd
현재 작업 디렉토리를 반환한 다음 올바른 새 디렉토리를 반환하지만 스크립트 실행이 끝나면 여전히 원래 디렉토리에 있고 이동하지 않았습니다. 이것을 달성할 수 있는 방법이 있나요?
감사해요.
답변1
스크립트에서는 이를 달성할 수 있는 방법이 없습니다. 스크립트는 별도의 환경인 하위 쉘을 시작합니다. 여기에는 여러 가지 이유가 있지만 기본적으로 스크립트는 변조될 수 없습니다.당신의환경(귀하 포함 cwd
).
가장 가까운 곳은현재의껍데기.
alias chr="cd /"
두 경우 모두 "소스" 스크립트는 현재 쉘에서 "실행"됩니다. 예를 들어, 당신처럼 .bashrc
.