如何使用管道为 ansible shell 模块添加错误处理?

如何使用管道为 ansible shell 模块添加错误处理?

我有一个如下所示的 Ansible shell 模块。

- name: "Verifying file"
  shell: cat filename | grep something | tail -1 | awk '{print $4}' 
  register: hname

如何进行错误处理,例如如果一个管道无法获取输入,它必须退出?

答案1

使用 set builtinwithpipefail解决了这个问题。

- name: "Verifying file"
  shell: "set -o pipefail && cat filename | grep something | tail -1 | awk '{print $4}'"
  register: hname

即使无法获得输入,这也将完成exit任务。pipe

相关内容