.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