![중괄호 확장이 지원되지 않는 이유는 무엇입니까?](https://linux55.com/image/50374/%EC%A4%91%EA%B4%84%ED%98%B8%20%ED%99%95%EC%9E%A5%EC%9D%B4%20%EC%A7%80%EC%9B%90%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
버팀대 확장을 활성화하려면 구성을 수행해야 합니까? 내가 그것을 실행하면 mkdir {1..10}
, 그것은 단지 이름이 붙은 디렉토리를 생성할 뿐입니다 {1..10}
.
답변1
버팀대 확장은 1970년대 후반에 시작되어 {1,2}
1980년대 후반과 1990년대 초반에 csh
Bourne과 같은 쉘에 도입되었지만 bash
이 변형은 1995년(2.6-베타4)에 처음 나타났습니다.zsh
pdksh
{n1..n2}
zsh
bash
2004년(3.0)과 ksh93
2005년( )에 ksh93r
복사되었습니다 .
사용하려는 셸은 다음 중 하나가 아니거나 bash
의 이전 버전 일 수 있습니다 ksh93
.
답변2
{x..y}
범위 중괄호 확장은 bash 3.0-alpha에서 구현됩니다. 우리와 당신 자신을 돕기 위해 당신의 결과물을 보여주세요 echo "$BASH_VERSION"
.
대답은 다음과 같습니다. mkdir {1..10}
name 으로 디렉토리를 생성 하면 {1..10}
이전 bash 버전을 사용하는 것입니다 bash 3.0-alpha
. 이 경우 for 루프 구문을 사용할 수 있습니다.
for ((i=1;i<=10; i++)); do mkdir "$i"; done
답변3
Bash 버전을 확인하세요.
$ bash -version
GNU bash, version 4.1.7(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
또한 mkdir
별칭이 이상한 방식으로 사용되었는지 확인하십시오.
$ alias |grep mkdir
alias md='mkdir'