mkdir Public/1 2 3 ----- 이 줄은 Public 폴더에 폴더 1을 생성하고 my pwd에 2 및 3이라는 폴더를 생성합니다.
mkdir Public/{1..3} ---- 이 줄은 예상대로 Public에 폴더 1,2,3만 생성합니다.
무슨 일인지 설명해 줄 수 있는 사람이 있나요?
답변1
첫 번째 명령은 다음과 같습니다.
mkdir Public/1 2 3
BASH는 이를 Public 디렉토리에 mkdir Public/1
내부라는 이름의 디렉토리를 생성하는 것으로 해석합니다. 1
다른 것들은 앞에 추가된 디렉토리가 없으므로 BASH는 이를 현재 작업 디렉토리에 생성하는 것으로 해석합니다 2
.3
두 번째 명령은 다음과 같습니다.
mkdir Public/{1..3}
보시다시피 BASH는 첫 번째 명령에서처럼 현재 작업 디렉터리를 사용하는 대신 Public/{1..3}
중괄호 확장을 사용하여 디렉터리를 만들고 디렉터리 내부에 사용하는 것으로 1
해석 합니다 2
.3
Public
rmdir
와 함께 또는 대신 동일한 콘텐츠를 사용하는 경우 에도 touch
동일한 일이 발생합니다 mkdir
.
답변2
, 및 의 mkdir Public/1 2 3
세 가지 매개변수가 있습니다 . 이 명령은 다음과 같습니다.Public/1
2
3
mkdir Public/1
mkdir 2
mkdir 3
mkdir Public/{1..3}
실행하기 전에 쉘 에서 {1..3}
확장하십시오 mkdir
. 하지만 껍질은 팽창하지 않습니다.{1..3}
홀로. 이것은{1..3}
더 큰 "단어". 다음을 Public/{1..3}
통해 Public/1 Public/2 Public/3
볼 수 있습니다 echo
.
echo Public/{1..3}
쉘에서 실행되는 실제 명령은 mkdir Public/1 Public/2 Public/3
다음과 같습니다.
mkdir Public/1
mkdir Public/2
mkdir Public/3