我一整天都在寻找这个问题而我找不到合适的答案,所以这就是我想要实现的目标。
我有一个bash函数,它接受未定义的参数长度并通过另一个CLI运行它们。
refresh service1 service2
该功能需要使用这两个服务(此时)并通过另一个CLI运行
nomad service1
nomad service2
所以我目前的做法是:
for (( i=1; i <= $#; i++ )); do
echo ${i};
done;
几乎打印变量位置而不是该位置的值:
1
2
相反:
service1
service2
有谁知道这方面的解决方案?在哪里我可以传递1或10个参数,无论传递多少都可以得到值。
提前致谢
更新
如果有人想知道如何解决这个问题。我最终做了以下
for p in $@; do
# statement
done;
这与重复链接中的第二个答案类似