我想执行以下包含双引号的命令:
- name: Initializing Kubernetes cluster
shell: kubeadm init --control-plane-endpoint "hostname:port"
不知道它是否会工作或不,如果我检查命令如下:
- debug:
msg: kubeadm init --control-plane-endpoint "hostname:port"
它给出kubeadm init --control-plane-endpoint \"hostname:port\"
。为什么输出在引号之间包含额外的反斜杠?这个命令会正确执行吗?或者我必须添加一些东西,因为双引号?(我不能通过执行它来测试,因为它是一个生产服务器)
1条答案
按热度按时间iibxawm41#
Q:“为什么输出在引号之间包含额外的反斜杠?“**
答:Ansible在输出中转义了双引号,告诉你双引号是字符串的一部分。比如说,
给
给
如果使用单引号样式,则不必转义双引号
给
用于测试的完整剧本示例
问:“由于双引号(一个字符串),我必须添加一些东西吗?“**
在下面的命令中,双引号将由shell解释
如果你想让双引号成为字符串的一部分,你可以对它进行转义
,或用单引号将其结束
Q:*“双引号将由shell解释。对不对?“
答:对。脚本参数周围的引号的唯一作用是允许参数中有空格。比如说,
给