我正在使用K8S
我想计算一个字符串,它是kubectl exec -it ... -c
的结果
在-c
选项之后有一个字符串。
如何传递包含双引号的字符串。
以下示例无法正常工作。
x="$(kubectl exec -it mysql-pod -- /bin/sh -c "mysql -uroot -p12345
-e 'show databases'" 2>/dev/null)"
echo $x
谢谢。
- 当只需要在pod上执行命令时,不需要
-it
选项,因为它代表附加交互式teminal - 当mysql本身是一个可执行命令时,不需要使用
/bin/sh -c
- 无需在
" "
中封装整个命令
所以试着遵循
x=$(kubectl exec mysql-pod -- mysql -uroot -p12345 -e 'show databases ;' 2>/dev/null)
echo $x