【发布时间】:2017-05-15 20:23:52
【问题描述】:
尝试运行简单的 ansible playbook 命令:
---
- hosts: all
tasks:
- name: Check errors during package installation
shell: sudo dpkg -l | grep -c '^i[^i]'
register: result
notify: Fix problems with packages
handlers:
- name: Fix problems with packages
shell: sudo dpkg --configure --pending
when: result.stdout != "0"
但出现错误:
failed: [jasper01.stage2.qa.whs] => {"changed": true, "cmd": "sudo dpkg -l | grep -c '^i[^i]'", "delta": "0:00:00.045734", "end": "2017-05-15 13:18:14.157175", "rc": 1, "start": "2017-05-15 13:18:14.111441", "warnings": []}
stdout: 0
FATAL: all hosts have already failed -- aborting
如果我将我的正则表达式更改为 '^i[i]' - 它运行良好,但这不是我需要的。 可能是什么原因,以及如何绕过这个?
【问题讨论】:
-
我想,你想提取以 i 开头的包数,对吗..?然后您可以将命令更改为 sudo dpkg -l | awk '{ 打印 $2}' | grep -c '^i'