Answers:
虽然括号展开类似{1,2}
的起源csh
在70年代末,并发现其方式类似Bourne在壳bash
/ zsh
/ pdksh
在80年代末,90年代初,{n1..n2}
变异后传来首先在zsh
1995年(2.6 BETA4)。
bash
在2004年(3.0)和ksh93
2005年(ksh93r
)复制了它。
您尝试使用的shell可能既不是这些也不是bash
and 的旧版本ksh93
。
#!/bin/sh
……
/bin/sh
是bash
或ksh93
。
/bin/sh
行为的历史sh
(这是bash的手册页说什么反正)。尚未检查ksh
的手册页,但我敢肯定它会相应地工作。
zsh
)。另一个解决方法是使用类似“ mkdir $(seq 1 10)”的名称。
{x..y}
范围括号扩展在bash 3.0-alpha中实现。为了帮助我们和您自己,请显示您的echo "$BASH_VERSION"
输出。
然后是答案:如果 mkdir {1..10}
使用名称创建目录,{1..10}
那么您正在使用bash版本before bash 3.0-alpha
。在这种情况下,您可以使用for循环构造:
for ((i=1;i<=10; i++)); do mkdir "$i"; done
mkdir {1..10}
为我工作,它会产生十个目录。