回答:
以下のようなブレース展開ながら{1,2}
に由来するcsh
70年代後半では、とボーンのような内殻に向かう途中見つかっbash
/ zsh
/ pdksh
80年代後半では、90年代初頭に、{n1..n2}
バリアントは、最初に、後に来たzsh
1995年(2.6-beta4)。
bash
2004年(3.0)およびksh93
2005年(ksh93r
)にコピーしました。
おそらく、これを試そうとしているシェルは、どちらでもないか、bash
およびの古いバージョンですksh93
。
#!/bin/sh
...
/bin/sh
はbash
またはksh93
です。
/bin/sh
機能しますsh
(とにかくbashのmanページに書かれているとおりです)。ksh
のmanページはチェックしていませんが、それに応じて動作するはずです。
zsh
まず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
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'
mkdir {1..10}
私のために働く、それは10日を作成します。