次のように括弧内に変数(x = 100)を設定したいと思います。
x=100
for i in {0.."$x"..50} ;do
echo $i
done
iの期待される出力は次のようになります。
0
50
100
私は出力を得るが、
{0..100..50}
ベストアンサー1
これはbash
。拡張順序はbash
変数の拡張は、シェルが中括弧を拡張するよりも後で発生します{0..50}
。したがって、中括弧の拡張中、シェルはその構成を{0..$x..50}
無効な拡張構成として扱います。
代替が必要です。最善はfor
算術コンテキストのループです。bash
for ((i=0; i<=100; i+=50)); do
printf "%d\n" "$i"
done