Ansible cli_command循环注册问题解决方案

41次阅读
没有评论

问题描述

在使用Ansible的cli_command模块时,遇到了无法使用register和循环多个命令的问题。他希望能够得到一些建议。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据回答1的建议,你需要注意以下几点:
1. 确保debug模块中的”with_items”缩进与”debug”保持相同的层级。
2. 更重要的是,在这种情况下,你需要使用”register”创建的变量进行迭代,而不是直接迭代传递给命令的变量。以下是一个示例(请在计算机上验证):

- debug:
    msg: "{{ item.stdout_lines }}"
  with_items: "{{ showcmds }}"

请注意,具体的变量结构可能会有所不同,你可以尝试运行不带”with_items”的debug命令,以获取变量的实际结构。

方案2

根据评论中的错误信息,你可能遇到了一个问题。在debug任务中,你尝试使用”item.stdout_lines”,但该变量可能未定义。你可以尝试使用”showcmds”变量来查看实际的变量结构。以下是一个示例:

- debug:
    msg: "{{ showcmds }}"

这将显示变量的实际结构,你可以根据需要调整debug任务中的变量访问方式。
请注意,具体的解决方案可能因你的环境和具体情况而有所不同。建议你根据实际情况进行调整和尝试。

正文完