小编Ale*_* oh的帖子

您可以在没有bash -c的情况下将环境变量传递给kubectl exec吗?

我在一个名为pod的pod中有一个脚本script01,它可以接受参数。我通过以下命令运行脚本:

POD=<pod name>
runScript="kubectl -n nmspc exec $POD -- script01"
$runScript --command "do stuff"
Run Code Online (Sandbox Code Playgroud)

我以这种方式运行它的原因是,我无权在本地计算机上创建脚本,但可以访问Pod上的脚本。

问题是我想将主机的IP传递给Pod,并希望使用环境变量来完成。我尝试使用bash -c传递参数,但是通过变量调用脚本时,它不会附加参数。

runScript="kubectl -n nmspc exec $POD -- bash -c \"export curIP=123 && script01\""
Run Code Online (Sandbox Code Playgroud)

但是如果我用 $runScript --command "do stuff"

如何将环境变量传递到Pod,但仍然可以通过该变量调用脚本?

bash kubernetes kubectl

2
推荐指数
1
解决办法
548
查看次数

Bash:检查返回码时,if语句vs &amp;&amp;&amp;

我看过通常用以下if语句检查返回码:

if [ "${rc}" -ne 0 ]; then
   echo "error"
   exit 1
fi
Run Code Online (Sandbox Code Playgroud)

我也很少看到使用支票&&做同样的事情:

[ "${rc}" -ne 0 ] && echo "error" && exit 1
Run Code Online (Sandbox Code Playgroud)

除可读性之外,两者之间是否有区别?一个人比另一个人有好处吗?

bash

2
推荐指数
1
解决办法
39
查看次数

标签 统计

bash ×2

kubectl ×1

kubernetes ×1