ANSIBLE0013 仅在需要 shell 功能时才使用 shell
ANSIBLE0013 Use shell only when shell functionality is required
在 Ansible 角色中,我这样做:
- name: update trusted ca
shell: "{{ in_ca_dict[ansible_os_family]['update']['shell'] }}"
与:
package_name: ca-certificates
RedHat:
path:
6: /usr/local/share/ca-certificates
7: /etc/pki/ca-trust/source/anchors
update:
shell: /bin/update-ca-trust
Debian:
path: /usr/local/share/ca-certificates
update:
shell: /usr/sbin/update-ca-certificates
cache: "no"
但是ansible-lint
通过molecule
告诉我:
[ANSIBLE0013] Use shell only when shell functionality is required
什么时候需要 shell 功能,什么时候不需要?
替代方法应该如何,我的代码对我来说似乎没问题。
我刚刚更换了
shell:
和
command:
这是文档:https://blog.confirm.ch/ansible-modules-shell-vs-command/
我解决了这个问题
在 Ansible 角色中,我这样做:
- name: update trusted ca
shell: "{{ in_ca_dict[ansible_os_family]['update']['shell'] }}"
与:
package_name: ca-certificates
RedHat:
path:
6: /usr/local/share/ca-certificates
7: /etc/pki/ca-trust/source/anchors
update:
shell: /bin/update-ca-trust
Debian:
path: /usr/local/share/ca-certificates
update:
shell: /usr/sbin/update-ca-certificates
cache: "no"
但是ansible-lint
通过molecule
告诉我:
[ANSIBLE0013] Use shell only when shell functionality is required
什么时候需要 shell 功能,什么时候不需要?
替代方法应该如何,我的代码对我来说似乎没问题。
我刚刚更换了
shell:
和
command:
这是文档:https://blog.confirm.ch/ansible-modules-shell-vs-command/
我解决了这个问题