我有一个小的 shell 脚本,我想在运行时显示用户输入的每个第 N 个参数,其中 N 是第一个参数。例如:对于输入,2 3 4 5 6
我应该显示3 5
。到目前为止我所拥有的:
N=$1
for ((i=2;i<$#;i+=$N))
do
echo -n ${i}" "
done
但是,我收到语法错误:此部分应为操作数:i+=$N
。我该如何解决?如果我将其替换i+=$N
为,例如,i+=2
它可以正常工作。但我想要那里的 N...
答案1
因此,为了让你的代码按你的意愿工作,你应该执行以下操作:
N=$1
for ((i=2;i<$#;((i=i+$N))))
do
echo -n ${!i}" "
done
注意!
之前的i
。
祝你好运 :)