队友们,我正在尝试每5秒跑一次下面的比赛,但是没有成功。
watch -n 5 kubectl get pods -n testes-asdf-234-asdf | grep -v Comple | xargs -l1 -- sh -c 'kubectl logs $1 -n testes-asdf-234-asdf main --tail=15' --输出:
does nothing尝试使用引号,但命令执行混乱,无法产生正确的输出。我的命令在没有监视和引号的情况下工作得很好
watch "kubectl get pods --no-headers -n testes-asdf-234-asdf | grep -v Comple | xargs -l1 -- sh -c 'kubectl logs $1 -n testes-asdf-234-asdf main --tail=15' --"Every 2.0s: kubectl get pods --no-headers -n testes-asdf-234-asdf | grep -v Comple | xargs -l1 -- sh -c 'kubectl logs -n testes... Wed Dec 4 10:10:18 2019
Error from server (NotFound): pods "main" not found
Error from server (NotFound): pods "main" not found
Error from server (NotFound): pods "main" not found
Error from server (NotFound): pods "main" not found
Error from server (NotFound): pods "main" not found不用手表也没问题
└─ $ ▶ kubectl get pods --no-headers -n testes-asdf-234-asdf | grep -v Comple | xargs -l1 -- sh -c 'kubectl logs $1 -n testes-asdf-234-asdf main --tail=15' --
**** Stack trace ****
/roadrunner/roadrunner: dw::core::Exception::Exception(dwStatus, char const*)+0xa1 [0xcdfc31]
/roadrunner/roadrunner: dw::roadcast::RoadCastServerEngine::checkMessageEnabledStatus(dwRoadCastMessageType, char const*)+0x3a [0x1c0e1ea]
/roadrunner/roadrunner() [0x1bc2f2a]
/roadrunner/roadrunner: dwRoadCastServer_sendImage()+0x72 [0x1bc4302]
/roadrunner/roadrunner: roadrunner::castData(dwImageObject*, char const*, long, long, unsigned long)+0x66 [0xd03726]
/roadrunner/roadrunner: roadrunner::RRMainPipeline::getCameraEventFrames(roadrunner::CameraFrame**, unsigned int&, roadrunner::RRMainPipeline::CameraFrameList&, dwSensorEvent const*)+0x75c [0xb2c91c]
/roadrunner/roadrunner: roadrunner::RRMainPipeline::getCameraFrames(roadrunner::RRMainPipeline::CameraFrameList*&, roadrunner::CameraFrame**, unsigned int&)+0x3b9 [0xb31039]
/roadrunner/roadrunner: roadrunner::RRMainPipeline::cameraThreadLoop()+0x634 [0xb44b64]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: ()+0xbd8f0 [0x7f8fe0a6f8f0]
/lib/x86_64-linux-gnu/libpthread.so.0: ()+0x76ba [0x7f90050eb6ba]
/lib/x86_64-linux-gnu/libc.so.6: clone()+0x6d [0x7f8fdff9e41d]发布于 2019-12-05 01:58:20
除非您将命令放在引号中,否则bash将尝试将watch ... kubectl ...的输出传递给第一个grep,但watch永远不会退出。
所以试试这个:
watch -n 5 "kubectl get pods -n test | grep -v Comple | xargs -l1 -- sh -c 'kubectl logs \$1 -n test main --tail=15' --"编辑:我没注意到你里面有一个$1。您需要对$进行转义,因为它现在包含在双引号中,并且只会扩展为一个空字符串(根据您所显示的输出)。
我编辑了上面的命令以反映这一点。
https://stackoverflow.com/questions/59182064
复制相似问题