for循环子命令中的bash变量扩展[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for循环子命令中的bash变量扩展[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

试图在这里扩展for循环变量不成功 - 我试图在jsonpath中使用$ i变量for循环:

for i in {0..9}; do 
    echo $i
    kubectl exec -i -t "$(kubectl get pod -l "app=mdm-shard" -o jsonpath='{.items[{$i}].metadata.name}')" -- cat /proc/net/udp
done

我明白了:

0
error: error parsing jsonpath {.items[{$i}].metadata.name}, invalid array index {$i}
error: pod name must be specified

我尝试了很多组合,但找不到要在查询中扩展$ i的组合。

我的bash版本:

GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu)
答案

谢谢Benjamin - 是的,这有效:

for i in {0..9}; do 
  echo $i
  kubectl exec -i -t "$(kubectl get pod -l "app=mdm-shard" -o jsonpath="{.items[$i].metadata.name}")" -- cat /proc/net/udp; 
done

以上是关于for循环子命令中的bash变量扩展[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 React JS 中父组件上的对象循环子组件中的项目

新建一直循环子线程,怎样关闭循环子线程,contains a path separator

H3 BPM循环子表相关方法介绍

php foreach为啥比for效率高

条目中用逗号分隔的循环子字符串

MATLAB 循环子字符串