Собственно пишу скрипт, в котором есть обработка числа некоторых элементов в файле, число получаю с помощью
num=`cat file | grep "$expr" | wc -l`
И вот заметил странное поведение, хотя может так и задумано:
Если писать цикл так:
for i in {1..$num}
do
echo $i;
done
То вывод будет:
{1..<знач_num>}
Еесли писать так:
for ((i=1; i<=$num; i++))
do
echo $;
done
То вывод будет правильный:
1
2
3
4
...
Вот пример, проверьте:
for i in {1.."3"}
do
echo $i ;
done
for ((i=1; i<="3"; i++))
do
echo $i ;
done
В первом случае не работает приведение типов, хотя возможно так специально сделано. Может можно как-то по-другому записывать, просто уже привык к первому варианту?