问题描述
我想在容器中执行一条命令(让它为 ls ),然后使用 echo $?读取退出代码。
kubectl exec -ti mypod -- bash -c "ls; echo $?"
不起作用,因为它返回了我当前shell而不是容器之一的退出代码。
所以我尝试在清单中定义的env变量上使用 eval :
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- container2
image: varunuppal/nonrootsudo
env:
- name: resultCmd
value: 'echo $?'
然后kubectl exec -ti mypod -- bash -c "ls;eval $resultCmd"
,但是eval命令不返回任何内容。
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
请注意,我可以在容器中运行这两个命令
kubectl exec -ti mypod bash
#ls;eval $resultCmd
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
**0**
我如何使其起作用? 预先感谢,
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)