【问题标题】:Ansible trim/regex_replace getting false outputAnsible trim/regex_replace 得到错误输出
【发布时间】:2019-04-01 23:38:51
【问题描述】:

我有一些变量 somevariable.stdout 在 ansible playbook 中返回“no\n”,如下所示:

ok: [127.0.0.1] => {
    "msg": "no\n"
}

我必须从 somevariable.stdout 中删除 \n。

我在下面尝试过:

 - set_fact:
     remove: "{{ somevariable.stdout |  regex_replace(('\\n'), (''))}}"

我得到了错误的输出,还尝试了同样得到错误输出的修剪工具。

ok: [127.0.0.1] => {
    "msg": false
}

预期输出:

ok: [127.0.0.1] => {
    "msg": "no"
}

【问题讨论】:

    标签: python ansible yaml ansible-2.x


    【解决方案1】:

    您可以使用debugregister 代替set_fact 来解决您的特定场景:

    - debug:
        msg: "{{ somevariable.stdout | regex_replace('\n') }}"
      register: remove
    - debug:
        msg: "{{ remove }}" #somevariable.stdout without '\n'
    

    希望这会有所帮助!

    【讨论】:

    • 我想全局使用这个删除变量
    • 你可以export register 变量并且你可以在全局范围内使用相同的变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    相关资源
    最近更新 更多