【发布时间】:2019-11-27 08:35:09
【问题描述】:
基于:
https://unix.stackexchange.com/questions/1459/remote-for-loop-over-ssh
我正在尝试通过oc rsh 运行 for 循环命令,但它失败并出现以下错误:
$ oc rsh my-app-10-lprki 'for i in /var/lib/*; do echo $i; done'
exec failed: container_linux.go:345: starting container process caused "exec: \"for i in /var/lib/*; do echo $i; done\": stat for i in /var/lib/*; do echo $i; done: no such file or directory"
command terminated with exit code 1
我也试过不带引号,带双引号,但也失败了。
这很好用(不带引号):
$ oc rsh my-app-10-lprki ls -la /var/lib/
total 24
drwxr-xr-x. 1 root root 104 Nov 22 22:21 .
drwxr-xr-x. 1 root root 17 Sep 28 2017 ..
drwxr-xr-x. 2 root root 44 Sep 28 2017 alternatives
关于如何通过oc rsh 远程运行 for 循环的任何建议(目前失败):
oc rsh my-app-10-lprki 'for i in /var/lib/*; do echo $i; done'
?
根据以下建议,我也尝试过:
$ oc rsh my-app-10-lprki -- /bin/sh -c 'for i in `ls /var/lib`; do echo $i; done'
exec failed: container_linux.go:345: starting container process caused "exec: \"--\": executable file not found in $PATH"
command terminated with exit code 1
和:
$ oc rsh my-app-10-lprki -- /bin/bash -c 'for i in `ls /var/lib`; do echo $i; done'
exec failed: container_linux.go:345: starting container process caused "exec: \"--\": executable file not found in $PATH"
command terminated with exit code 1
和:
$ oc rsh my-app-10-lprki -- /usr/bin/bash -c 'for i in `ls /var/lib`; do echo $i; done'
exec failed: container_linux.go:345: starting container process caused "exec: \"--\": executable file not found in $PATH"
command terminated with exit code 1
地点:
$ oc rsh my-app-10-lprki which bash
/usr/bin/bash
【问题讨论】:
-
嗨,你可以试试
oc rsh my-app-10-lprki -- bash -c "for i in /var/lib/*; do echo $i; done" -
这给出:执行失败:container_linux.go:345:启动容器进程导致“exec:\”--\“:$PATH中找不到可执行文件”
-
使用
/bin/bash or /bin/sh而不是bash,具体取决于容器中的外壳。 -
你能描述一下你的 pod
oc describe pod $POD_NAME假设它正在运行 -
你是从windows执行命令吗?