{# .. #} генерирует последовательность чисел или символов, аналогично range () в Python. Если я выполню команду echo {1..5}
в командной строке, у меня есть:
1 2 3 4 5
Вместо этого следующий скрипт bash не работает должным образом.
for i in {1..3};
do
echo "Iteration $i"
done
напечатает:
Iteration {1..3}
Почему?
* Я мог бы использовать, seq
но я прочитал это устарело ( http://www.cyberciti.biz/faq/bash-for-loop/ )
command-line
bash
Shake0
источник
источник
Ответы:
Я попробовал ваш код (скопировать вставить в терминал), и он дал результат, отличный от того, что вы опубликовали:
Я использую Linux Mint 12 Lisa (производная от Ubuntu) с версией bash 4.2.10 (1) -релиз
источник
/bin/sh
IS фактически указывает на bash, в Debian и Ubuntu обычно указывает на то,/bin/dash
что в основном POSIX-совместимо, но не поддерживает тот же синтаксис, что и Bash.