$ set a b c
$ echo $1 $2 $3
a b c
$ echo ${1..3}
-bash: ${1..3}: bad substitution
ブレース展開で $1 $2 $3 をエコーしたい。しかし、うまくいきません。
展開の順序は、ブレース展開、チルダ展開、パラメーター、変数と算術展開、およびコマンド置換 (左から右に行われる)、単語分割、およびパス名展開です。
bash のマニュアルによると、ブレース展開はパラメーター展開の前に実行されます。
${1..3}
したがって、bash は最初にブレース展開を実行し、それを に変換してからecho $1 $2 $3
、パラメーター展開を実行する必要があると思います。
しかし、実際のところ、bash は不適切${1..3}
な代用として不平を言っています。何故ですか?
PS: 皆さん、ありがとうございました!すべての回答は素晴らしいものです.しかし、私は思う
Ignacio Vazquez-Abrams の答えは、私が望むものに近いものです。