Вот myscript.sh
#!/bin/bash
for i in {1..$1};
do
echo $1 $i;
done
Если я запустил myscript.sh 3
, выход будет
3 {1..3}
вместо
3 1
3 2
3 3
Ясно, что $3
содержит правильное значение, так почему же for i in {1..$1}
ведет себя так же, как если бы я написал for i in {1..3}
напрямую?