Então, para que seu código funcione como você deseja, você deve fazer algo como:
N=
for ((i=2;i<$#;((i=i+$N))))
do
echo -n ${!i}" "
done
Observe o !
antes de i
.
Boa sorte:)
Eu tenho um pequeno script de shell e o que eu quero fazer quando é executado é exibir cada N'th parâmetro inserido pelo usuário, onde N é o primeiro parâmetro.
Ex: para entrada 2 3 4 5 6
eu deveria mostrar 3 5
. O que eu tenho até agora:
N=
for ((i=2;i<$#;i+=$N))
do
echo -n ${i}" "
done
No entanto, recebo um erro de sintaxe: operando esperado nesta parte: i+=$N
.
Como posso resolver isso? Se eu substituir i+=$N
por i+=2
, por exemplo, funciona. Mas eu quero N lá ...
Então, para que seu código funcione como você deseja, você deve fazer algo como:
N=
for ((i=2;i<$#;((i=i+$N))))
do
echo -n ${!i}" "
done
Observe o !
antes de i
.
Boa sorte:)
Tags command-line bash scripts