我有一个如下所示的 Ansible shell 模块。
- name: "Verifying file"
shell: cat filename | grep something | tail -1 | awk '{print $4}'
register: hname
如何进行错误处理,例如如果一个管道无法获取输入,它必须退出?
答案1
使用 set builtin
withpipefail
解决了这个问题。
- name: "Verifying file"
shell: "set -o pipefail && cat filename | grep something | tail -1 | awk '{print $4}'"
register: hname
即使无法获得输入,这也将完成exit
任务。pipe