我在一个名为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,但仍然可以通过该变量调用脚本?
我看过通常用以下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)
除可读性之外,两者之间是否有区别?一个人比另一个人有好处吗?