Баш для цикла с диапазоном {#..#}
{#..#} генерирует последовательность чисел или символов, аналогично 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/)
1 ответ
Решение
Я попробовал ваш код (скопировать вставить в терминал), и он дал результат, отличный от того, что вы опубликовали:
for i in {1..3};
do
echo "Iteration $i"
done
#---OUTPUT BELOW---
Iteration 1
Iteration 2
Iteration 3
Я использую Linux Mint 12 Lisa (производная от Ubuntu) с версией bash 4.2.10(1)-релиз