K8S 如何在为 `kubectl exec -c` 提供的参数上添加引号
K8S How to add quotes when on parameters provided for `kubectl exec -c`
我用的是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
选项,因为它代表附加交互式终端
- 当mysql本身就是一个可执行命令时,不需要使用
/bin/sh -c
- 无需将整个命令封装在
" "
中
所以尝试关注
x=$(kubectl exec mysql-pod -- mysql -uroot -p12345 -e 'show databases ;' 2>/dev/null)
echo $x
我用的是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
选项,因为它代表附加交互式终端 - 当mysql本身就是一个可执行命令时,不需要使用
/bin/sh -c
- 无需将整个命令封装在
" "
中
所以尝试关注
x=$(kubectl exec mysql-pod -- mysql -uroot -p12345 -e 'show databases ;' 2>/dev/null)
echo $x