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/

我解决了这个问题