我想将环境变量传递到exec
命令中。
到目前为止,我已经尝试了以下方法
SOME_VAR="A String"
kubectl exec -it a-pod-name -- sh -c 'env NEW_VAR=$SOME_VAR; echo $NEW_VAR > some-file-name.txt'
我意识到如果我想复制文件,可以使用kubectl cp
,但这不适合我的用例。
答案 0 :(得分:4)
您需要将该命令放在双引号中,它的工作方式如下:
kubectl exec -it a-pod-name -- sh -c "env new_var=$var; echo $new_var > some-file-name.txt"
bash背后的原因是不会将变量提取到单引号中的值中,因此您需要使用双引号。