[bash]cd가 안 먹혀요

익명 사용자의 이미지

제발 도와주세요
제가 몇칠 전부터 bash shell을
공부하고 있는데 문제가 생겨 진도가 나가지 못하고 있습니다.
다음은 문제의 간단한 스크립터입니다.(정말 간단한 정말 쉬운)

dir_name=$1
cd $dir_name
echo $dir_name

여기까지 입니다.
문제는 인자를 주고 실행을 하면 shell은 실행을하는데 인자로
준 디렉토리로 이동하지 않고 echo 명령만 실행하고 빠져나옵니다.

스크립터명이 hoho라면

/root]#hoho /usr/bin
/usr/bin
/root]#

에러문이런것이라도 나오면 답답하지는 않을텐데?
꼭 위의 예처럼 실행된다니까요.
아이구 정말 미치겠다니까요?
무엇이 문제인지....
이것이 제대로 된 명령인지는 몰라도 builtin도 사용해봤지요.
그러나...

bash버전은 2.04.21입니다.
와우리눅스 7.1 파란입니다.
고수님들의 수고를 부탁드립니다.
정말정말 급합니다. 빨리 빨리 진도를 나가고 싶거든요
이 가련한 학생을 불쌍히 여기소서.....

익명 사용자의 이미지

그건..

당연히 안됩니다.

그 쉘을 실행시키면...

자식쉘이 실행될것이고...

그 쉘에서 cd 로 디렉토리를 바꾼다해도..부모쉘의 cd 는

바뀌지 않기 때문입니다

그렇지만..방법은 있습니다.

source 나 . 명령어를 이용하는 겁니다.

즉 그건 부모쉘에서..명령어를 실행하게 하는 겁니다.....

source aa.sh / 이렇게 해보면..

/ 로 디렉토리가 바뀌어 있을겁니다..

^^