디렉토리를 변경하는 쉘 스크립트를 어떻게 얻을 수 있습니까? [복사]

디렉토리를 변경하는 쉘 스크립트를 어떻게 얻을 수 있습니까? [복사]

다음은 루트로 다시 이동하기 위해 실행한 작은 테스트입니다.

#!/bin/bash
pwd
cd /
pwd

현재 작업 디렉토리를 반환한 다음 올바른 새 디렉토리를 반환하지만 스크립트 실행이 끝나면 여전히 원래 디렉토리에 있고 이동하지 않았습니다. 이것을 달성할 수 있는 방법이 있나요?

감사해요.

답변1

스크립트에서는 이를 달성할 수 있는 방법이 없습니다. 스크립트는 별도의 환경인 하위 쉘을 시작합니다. 여기에는 여러 가지 이유가 있지만 기본적으로 스크립트는 변조될 수 없습니다.당신의환경(귀하 포함 cwd).

가장 가까운 곳은현재의껍데기.

alias chr="cd /"

두 경우 모두 "소스" 스크립트는 현재 쉘에서 "실행"됩니다. 예를 들어, 당신처럼 .bashrc.

관련 정보