Bash для цикла: диапазон чисел

У меня есть следующий код в файле .sh:

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

Который должен печатать числа от 1 до 10. Но это то, что я получаю:

{1..10}

Кроме того, использование C-like sytax также не работает:

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

Это вызывает у меня ошибку:

Syntax error: Bad for loop variable

Версия bash, которая у меня есть, равна 4.2.25.

Ответы

Ответ 1

Код должен быть следующим (обратите внимание, что 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/