Ho ottenuto quanto segue per funzionare:
for i in {2..10}
do
echo "output: $i"
done
Produce una serie di linee di output: 2
, output: 3
, ecc.
Tuttavia, tentando di eseguire quanto segue:
max=10
for i in {2..$max}
do
echo "$i"
done
produce quanto segue:
output: {2..10}
Come posso convincere il compilatore a rendersi conto che dovrebbe trattare $ max come l'altra estremità dell'array e non parte di una stringa?
echo "$i
dovrebbe essere echo "$i"
- non risolverà il problema, però.
do
e then
sulla stessa riga di for
e if
, rispettivamente. Ad esempio,for i in {2..10}; do