echo "import /opt/tomcat/webapps/identityiq/WEB-INF/config/BLANKIdentity.xml" | /opt/tomcat/webapps/identityiq/WEB-INF/bin/iiq console)
如果 kubectl exec -it [container] -n [namespace] -- /bin/bash 然后從控制臺運行它,則此命令有效。
但是,如果我嘗試: kubectl exec [container] -n [namespace] -- echo "import /opt/tomcat/webapps/identityiq/WEB-INF/config/BLANKIdentity.xml" | /opt/tomcat/webapps/identityiq/WEB-INF/bin/iiq console
..它聲稱無法找到“iiq”。
我已經嘗試了相對路徑與絕對路徑的變數,目前只是默認為絕對路徑,以確保在翻譯中不會丟失任何內容。
我還嘗試了以下變體: kubectl exec [container] -n [namespace] -- /bin/bash <(echo "import /opt/tomcat/webapps/identityiq/WEB-INF/config/BLANKIdentity.xml" | /opt/tomcat/webapps/identityiq/WEB-INF/bin/iiq console)
有什么建議么?
uj5u.com熱心網友回復:
當您運行時,在您的本地主機上執行kubectl exec ... <somecommand> | <anothercommand>之后的任何內容,而不是在遠程容器內。它只是一個常規的 shell管道,在這種情況下是您的命令。|a | b | cakubectl exec
如果要在遠程容器內運行 shell 管道,則需要確保將整個命令列傳遞給遠程容器,例如:
kubectl exec somepod -- sh -c '
echo "import /opt/tomcat/webapps/identityiq/WEB-INF/config/BLANKIdentity.xml" |
/opt/tomcat/webapps/identityiq/WEB-INF/bin/iiq console
'
在這里,我們將管道作為引數傳遞給sh -cpod 中的命令。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/520319.html
上一篇:Helm外部公共圖表
