web-dev-qa-db-ja.com

bash forループ:数値の範囲

.shファイルに次のコードがあります。

for num in {1..10}
do
  echo $num
done

1から10までの数字を出力するはずです。しかし、これは私が得るものです:

{1..10}

また、Cライクな構文を使用しても機能しません。

for ((i=1; i<=10; i++))

これは私にエラーを取得します:

Syntax error: Bad for loop variable

私が持っているbashのバージョンは4.2.25です。

29
sodiumnitrate

コードは次のようになります(Shebangはbashではなくshと言うことに注意してください):

 #!/bin/bash
 echo "Bash version ${BASH_VERSION}..."
 for i in {0..10..1}
    do
       echo "Welcome $i times"
 done

ソース http://www.cyberciti.biz/faq/bash-for-loop/

48
Pradheep