스크립트가 호출되는 디렉터리를 가져옵니다.

스크립트가 호출되는 디렉터리를 가져옵니다.

doSmth나는 스크립트를 가지고 있습니다 /usr/bin. 목차를 받아 인쇄할 수 있나요?스크립트는 다음에서 호출됩니다.?

따라서 출력 doSmth에서 ​​호출 /home/me하면 /home/me.

답변1

셸에서 명령을 호출하면 새 프로세스는 상위 프로세스의 작업 디렉터리를 상속합니다. 작업 디렉터리를 가져오는 방법에는 두 가지가 있습니다.

echo "$PWD" # variable
pwd         # builtin command

답변2

"호출된 디렉터리"는 작업 디렉터리를 나타내는 것 같습니다. 예를 들어 를 사용하여 스크립트에서 이를 변경할 수 있지만 cd그렇게 하기 전에 pwd인쇄하십시오. 변수에 있을 수도 있습니다.$PWD

변경 후 초기 작업 디렉터리가 필요한 경우 스크립트 상단에 저장하면 됩니다(변경 전).

#!/bin/bash
initial_wd=`pwd`

# ... do a lot of stuff ...
# ⋮

cd "$initial_wd"

이를 사용하여 시작한 디렉토리로 돌아가려면 pushd및 을 참조하십시오 popd.

관련 정보