微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Ansible shell/grep 命令中使用转义字符

如何解决如何在 Ansible shell/grep 命令中使用转义字符

我需要从远程主机上的文件中的 URL 中提取主机名,然后在另一个任务中使用该值。

我的剧本中有以下任务:

- name: Extract server name
  shell: "grep ^serverURL=https:\/\/(.*)\/XMLRPC <filename>"
  register: <variable>

但是当我尝试运行它时,我收到以下错误(减少到相关位):

发现未知的转义字符。违规行似乎是:

- name: Extract server name
  shell: "grep ^serverURL=https:\/\/(.*)\/XMLRPC <filename>"
                                ^ here

似乎有一个以引号开头的值,而 YAML 解析器希望看到该行以相同类型的引号结尾。

显然它确实以双引号开始和结束,但克拉在我的 grep 查询中位于转义字符处,因此认为这是问题的原因似乎是合理的;如果我删除反斜杠,我的 grep 查询不会返回任何内容

我怎样才能正确地逃避这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。