nathan@gentoodesktop ~/Documents $ mkdir test
nathan@gentoodesktop ~/Documents $ mkdir te*/test
mkdir: cannot create directory 'te*/test': No such file or directory
nathan@gentoodesktop ~/Documents $ cd te*
nathan@gentoodesktop ~/Documents/test $ mkdir test
nathan@gentoodesktop ~/Documents/test $ ls
test
답변1
패턴은 다음으로만 확장됩니다.기존의이름이며 패턴이 te*/test
기존 이름과 일치하지 않습니다. 이는 te*/test
완전한 패턴이며 해당 te*
부분은 별도로 일치하지 않습니다 /test
.
nullglob
패턴이 일치하지 않기 때문에(그리고 및 쉘 옵션이 설정되지 않았기 때문에 failglob
) 확장 및 제공되지 않으며 , 디렉토리 내에 하위 디렉토리를 생성 mkdir
할 수 없을 때 불평할 것입니다 .test
te*
cd te*
패턴이 te*
기존 디렉터리의 이름과 일치하기 때문에 명령이 성공합니다 test
. 일치하는 이름이 더 있으면 te*
에서 오류가 발생할 수 있습니다 cd
.
답변2
적절한 스위치를 사용하여 이러한 문제를 디버깅할 수 있습니다. 첫 번째는 -v
참조할 수 있는 더 많은 출력을 생성한다는 것입니다. 다른 하나는 -p
존재하지 않는 경우 상위 디렉토리를 생성한다는 것입니다. 이 두 가지를 플레이하면 좋은 교훈을 얻을 수 있습니다. 예를 들어. :
mkdir -pv _dirname_