![내 쉘 스크립트에서 cd 명령이 작동하지 않습니다](https://linux55.com/image/100196/%EB%82%B4%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20cd%20%E2%80%8B%E2%80%8B%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
.sh
디렉토리를 생성하고 일부 파일을 그 디렉토리로 이동하는 스크립트가 있습니다 .
방금 만든 새 디렉터리로 디렉터리를 변경하고 싶지만 명령으로는 작동하지 않습니다.
cd ./$dirname1${iloop}
$dirname1${iloop}
새 디렉토리의 이름은 어디에 있습니까? 디렉토리를 어떻게 변경합니까?
mkdir ./$dirname1${iloop}
`cp $in1 ./$dirname1${iloop}`
`cp $plot ./$dirname1${iloop}`
`cp $tmpl1 ./$dirname1${iloop}`
`cp $in2 ./$dirname1${iloop}`
`cp $tmpl2 ./$dirname1${iloop}`
`cp $data ./$dirname1${iloop}`
`cd ./$dirname1${iloop}`
답변1
스크립트를 있는 그대로 게시했다고 가정하면 이 명령은 다음과 같습니다.
`cd ./$dirname1${iloop}`
프로세스 대체를 사용하십시오. 진드기
`
앞과 끝은 새로운 유형의 이전 구문입니다 $()
. 교체 내부와 교체 없이 파일을 복사하면 지속적인 결과가 발생하지만 cd
프로세스 교체 또는 하위 쉘에 있는 경우 디렉터리 변경은 해당 컨텍스트에서만 유효합니다. 기본 쉘로 돌아가면 바로 이전 위치로 돌아갑니다.
명령줄에서 다음 두 가지를 비교하십시오.
$(cd /bin) && pwd
그리고
cd /bin && pwd