[질문] ubuntu bash에서 pushd 명령이 안먹는군요

nako의 이미지

현재 ubuntu 7.04 버전을 사용중입니다.

pushd 가 shell 상에서는 잘 먹힙니다만, 스크립트 안에서는 먹히지 않습니다.

shell script내에서

#!/bin/sh
 
pushd /usr

처럼 했을 때
# ./script.sh

로 실행하면 command not found가 나옵니다.
반면
# . script.sh

로 실행시키면 pushd 가 먹힙니다.

물론 shell 상에서

# pushd /usr 

를 사용할 경우 잘 먹히지요.

옆자리에 있는 레드햇에서 실행시켜 보니 모든 경우에 이상 없이 잘됩니다.

어떤 문제인지 궁금하네요.

참고로 bash의 버전은 3.2.13입니다.

feanor의 이미지

/bin/sh 가 bash 인가요? 첫 줄을 /bin/bash 로 바꿔보세요.

nako의 이미지

네 고맙습니다.

/bin/sh -> dash란 놈으로 연결되어있군요.

bash로 설정해주니 잘 동작합니다.