我正在编写一个shell脚本,该脚本需要登录到pod并在kubernetes pod中执行一系列命令。
下面是我的sample_script.sh:
kubectl exec octavia-api-worker-pod-test -c octavia-api bash
unset http_proxy https_proxy
mv /usr/local/etc/octavia/octavia.conf /usr/local/etc/octavia/octavia.conf-orig
/usr/local/bin/octavia-db-manage --config-file /usr/local/etc/octavia/octavia.conf upgrade head
运行此脚本后,我没有得到任何输出。如有任何帮助,将不胜感激
4条答案
按热度按时间1wnzp6jl1#
您是否将所有这些命令作为单行命令运行?首先,这些命令之间没有
;
或&&
。因此,如果您将其作为多行脚本粘贴到您的终端,则很可能会在本地执行。第二,要让bash执行某个操作,需要:
bash -c "command"
.请尝试运行以下命令:
您可以将其设为多行,如下所示:
lc8prwob2#
下面的方法应该有效
bash
如果以上命令不起作用,请尝试将
bash
替换为以下/bin/bash
、sh
或/bin/sh
之一vmdwslir3#
-t可以解决您的任务
例如,我在这里运行几个cmd:
注:您的示例将是:
jw5wzhpr4#
张贴在这里,因为谷歌搜索仍然会带你到这个职位...
我想扔掉使用HEREDOC作为一个额外的可能性。