2010-03-09 3 views
7

나는 bash 스크립팅을 완전히 시작한 신참입니다. 나는 cd 명령을 실행하는 방법이 있었음을 기억합니다. 명시 적으로 cd ...없이 이전 디렉토리로 자동 복귀합니다. 아이디어가 있으십니까?cd 옵션을 이전 디렉토리로 변경합니다.

+0

궁금한데, 왜 그 투표가 "진짜 질문이 아니"니까? : S 코멘트를 남겨주세요. 분명히하려고 노력할 것입니다 ... –

답변

13

마지막 디렉토리로 돌아가려면 cd -을 사용할 수 있습니다.

다시 방문 할 장소가 더 필요하면 pushd <dir> (cd <dir> 대신)을 시도한 다음 popd으로 돌아갈 수 있습니다.

+0

잘 알고있다. 감사합니다 :) –

+0

접수 중입니다. 내 자신의 스크립트에서 몇 가지 하위 껍질을 시작하더라도,이 최고의 대안으로 들리 네요. –

4

발견! 하위 셸로 실행할 수 있습니다.

괄호 안에 포함 된 명령 목록은 서브 쉘로 실행됩니다.

자료 제공 : http://tldp.org/LDP/abs/html/subshells.html

+1

서브 쉘에서 실행한다는 것은 환경 변수 설정과 같은 것들이 작동하지 않는다는 것을 의미합니다. –

+2

엄밀히 말하면 부모 쉘의 영역에 두지 않은 채 현재 디렉토리로 "돌아 오지"않습니다. – Sorpigal

+0

@ 이냐시오 : 그래,하지만 내가 원하는 건 괜찮아. @ Saorpigal : 좋은 지적. 나는 그것을 알고있다 :) –

1

는 또한, PUSHD와 popd를 매우 유용하게 사용할 수 있습니다 - 그들은 디렉토리 위치의 스택에 대한 작업을 나타냅니다 - 당신이 "시간을 거슬러 여행"할 수 있도록.

1

cdargs 패키지를 사용해 볼 수도 있습니다. 당신은 여기 자습서를 찾을 수 있습니다 http://www.csrdu.org/nauman/2011/01/16/helpful-tips-for-newbie-system-admins/

요약 :

yum -y install compat-libstdc++-296 
wget http://www.skamphausen.de/downloads/cdargs/cdargs-1.31-1.i386.rpm 
rpm -ivh cdargs-1.31-1.i386.rpm 
updatedb 
source `locate cdargs-bash.sh` 
# you can use any method you like for locating this file and running it 
# also, you need to put it in the ~/.bash_profile to run it every time you login 
echo source `locate cdargs-bash.sh` >> ~/.bash_profile 
cdb 

마크 디렉토리와 이동할 :

cd /etc/conf/httpd/ext/ 
mark apaconf 
cd /usr/local/src/ 
cdb apaconf 

다른 명령에 대한 링크를 참조하거나 인터넷을 검색 할 수 있습니다.

관련 문제