popd 명령을 실행하는 대신 bash 변수에 방금 푸시된 디렉터리를 포함하려면 어떻게 해야 합니까?
답변1
이전 디렉터리의 이름만 알고 싶다면 다음을 실행하세요.
% echo $OLDPWD
해당 디렉토리로 들어가고 싶다면 간단히 할 수 있습니다
% cd -
자동으로 다음과 같이 변경됩니다.$OLDPWD
Pushd-popd를 사용하여 전체 디렉터리 스택을 생성하려는 경우
% dirs -v
그러면 디렉토리 이름 옆에 디렉토리 색인이 인쇄됩니다.
다음을 입력하면 해당 디렉토리로 이동할 수 있습니다.
% pushd +N
여기서 N은 디렉토리의 인덱스입니다.
답변2
DIRSTACK
디렉터리 스택의 현재 내용을 포함하는 배열 변수입니다. 디렉토리는 내장 디렉토리에 표시된 순서대로 스택에 나타납니다.
마지막으로 푸시된 것은 index 이고 "${DIRSTACK[0]}"
, 두 번째로 푸시된 것은 index 였습니다 [1]
.
me@hostname /tmp$ pushd a
/tmp/a /tmp
me@hostname /tmp/a$ pushd /tmp/b
/tmp/b /tmp/a /tmp
me@hostname /tmp/b$ dirs
/tmp/b /tmp/a /tmp
me@hostname /tmp/b$ declare -p DIRSTACK
declare -a DIRSTACK=([0]="/tmp/b" [1]="/tmp/a" [2]="/tmp")