我想打电话
kubectl run
允许使用以下语法指定环境值:
--env=nameOfVar=valueOfVar
.
我有这样的结构:
env=()
for v in var1 var2 var2; do
env+="--env=$v=${!v}"
done
kubectl run mycontainer "${env[@]}"
通过这种方式,我可以将现有变量的值传递给kubectl。
它工作正常,除非var的值包含空格。
如何将参数正确分隔为
kubectl
?
我尝试过其他变体,比如:
env=
for v in var1 var2 var2; do
env="$env --env=$v=${!v}"
done
kubectl run mycontainer "$env"
Suposing
var1
具有值
value 1
等等,我希望得到这样的结果:
kubectl run mycontainer "--env=var1=value 1" "--env=var2=value 2" "--env=var3=value 3"
而不是这样:
kubectl run mycontainer --env=var1=value 1 --env=var2=value 2 --env=var3=value 3