Réponses:
Alors que l'expansion de l'orthèse comme à son {1,2}origine à cshla fin des années 70, et a trouvé son chemin vers des coquilles de type Bourne dans bash/ zsh/ pdkshà la fin des années 80, au début des années 90, la {n1..n2}variante est venue plus tard zshen 1995 (2.6-beta4).
bashcopié en 2004 (3.0) et ksh93en 2005 ( ksh93r).
Probablement le shell dans lequel vous essayez ceci n'est ni l'un ni l'autre ou une ancienne version de bashet ksh93.
#!/bin/sh...
/bin/shest bashou ksh93.
/bin/sh agissent comme l'historique sh(c'est ce que la page de manuel bash dit de toute façon). Je n'ai pas vérifié kshla page de manuel de, mais je suis sûr qu'elle se comportera en conséquence.
zsh) en premier. Une autre solution serait d'utiliser quelque chose comme "mkdir $ (seq 1 10)".
{x..y}L'expansion de l'accolade de plage est implémentée dans bash 3.0-alpha. Pour nous aider et pour vous-même, veuillez montrer votre echo "$BASH_VERSION"résultat.
Ensuite, la réponse: si mkdir {1..10}crée un répertoire avec le nom, {1..10}vous utilisez une version bash antérieure bash 3.0-alpha. Dans ce cas, vous pouvez utiliser une construction de boucle for comme:
for ((i=1;i<=10; i++)); do mkdir "$i"; done
Vérifiez votre version 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>
Vérifiez également qu'il mkdirn'y a pas eu d'alias d'une manière étrange:
$ alias |grep mkdir
alias md='mkdir'
mkdir {1..10}fonctionne pour moi, il crée dix dir.