gpt4 book ai didi

引号内的 Ansible ad-hoc shell 命令引号 - 如何转义?

转载 作者:行者123 更新时间:2023-12-05 06:39:58 26 4
gpt4 key购买 nike

我有一个相当简单的 ansible adhoc 命令,使用 shell 来运行 chfn:

ansible all -i ./inventory/all  -s -K -m shell -a 'chfn -f "$HOSTNAME root" root'

chfn 需要双引号,我已经尝试了几种不同的方法来转义它们,但没有成功。我试过用双引号和单引号将 shell 命令括起来,并使用/转义双引号并尝试使用单引号。运行 chfn -f "$HOSTNAME root"root 工作正常,但我无法弄清楚如何以这种方式运行它。 (我知道这是一个选项,但我宁愿不把它变成一个 shell 脚本,如果可能的话,通过 ansible 以这种方式运行它)

最佳答案

当您有嵌套引号时,如下面的示例所示,您可以通过用另一个单引号转义来转义单引号

使周围的引号成为单引号 ' ,那么您就不需要转义双引号 "并且您可以使用另一个单引号如 '' 转义命令中的单引号

 - name: Notify on slack
command: 'curl -X POST -H ''Content-type: application/json'' --data ''{"text":"{{inventory_hostname}} has been updated"}'' https://hooks.slack.com/services/XXXX/YYY/ZZZ'
when: inventory_hostname == 'host1.de' or inventory_hostname == 'host.de'
delegate_to: localhost

关于引号内的 Ansible ad-hoc shell 命令引号 - 如何转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43986577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com