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
.