当我尝试在nxos设备上运行一些命令时,输出末尾有一个空格。我必须将输出与现有变量列表进行比较。末尾的空白导致比较结果错误。如何在字符串列表中使用.strip()函数?

- name: Current TACACS server host before
    nxos_command:
      commands:
        - sh run | include 'tacacs-server host'
register: runconfserafter

- debug:
    var: runconfserafter

输出如下:
"stdout_lines": [
        [
            "tacacs-server host 1.1.1.1 key 7 \"HelloWorld\" ",
            "tacacs-server host 2.2.2.2 key 7 \"HelloWorld\""
        ],
     ]

当我将此行与所需变量进行比较时,由于末尾第一行的空白,我无法将其匹配。

最佳答案

要将函数应用于列表元素,请使用 map filter。要删除空格,请使用 trim filter

"{{ runconfserafter.stdout_lines | map('trim') | list }}"

关于Ansible带空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51015315/

10-16 06:11