매우 간단한 명령을 작성하려고 합니다 mkcd
.
#!/bin/bash
mkdir $1
cd $1
디렉토리가 생성되었지만 디렉토리 변경 부분이 실행되지 않는 것 같습니다.
의견을 기반으로 업데이트:
mkcd () {
mkdir "$1"
cd "$1"
}
먼저 로컬 파일로 실행해 보았습니다.
./mkcd
내 최종 입장은 /opt/bin
두 입장 모두 효과가 없는 것 같다는 것입니다.
답변1
함수여야 합니다.
mkcd() { mkdir -p "$1" && cd "$1"; }
스크립트는 별도의 자체 프로세스 내에서 실행됩니다. 디렉토리를 변경해도 상위 쉘에는 아무런 영향이 없습니다( 에서와 같이 하위 쉘 내의 디렉토리도 변경되지 않습니다 (cd /tmp)
).