ansible - Ansible 无法运行任何命令或 shell
问题描述
我无法在我的 RPi 上运行任何命令或 shell。
当我使用以下代码时:
- name: Example command
ansible.builtin.command:
cmd: "cat /etc/motd"
我收到此错误:
Unsupported parameters for (ansible.builtin.command) module: cmd Supported parameters include: _raw_params, _uses_shell, argv, chdir, creates, executable, removes, stdin, stdin_add_newline, strip_empty_ends, warn"}
当我尝试这个时:
- name: Example command
ansible.builtin.command: cat /etc/motd
我收到此错误:
ERROR! this task 'ansible.builtin.command' has extra params, which is only allowed in the following modules: import_tasks, raw, include, include_tasks, include_vars, include_role, script, set_fact, win_command, add_host, shell, import_role, group_by, command, win_shell, meta
当我尝试使用 ansible.builtin.shell 时,我得到了同样的错误。我尝试了其他几个命令,但没有任何运气。如果没有这两个错误,我似乎无法运行任何命令。
我使用ansible 2.9.6。我试图升级它,但很容易说它是最新的。
任何帮助,将不胜感激。
解决方案
替换ansible.builtin.command
为command
。您的 Ansible 版本对于较新的语法来说太旧了。这适用于 Ansible 2.9.6:
- hosts: localhost
gather_facts: false
tasks:
- command: cat /etc/motd
推荐阅读
- c# - 面向对象编程 - 如何避免因变量而略有不同的进程中的重复
- node.js - Node.js - 使用 multer 上传文件并使用 Sendgrid 将文件附加到电子邮件
- mqtt - 如何从邮递员或 MQTT Publisher 客户端将 LoRaWAN 设备数据发送到 FIWARE LoRaWAN IoT Agent
- sql-server - 来自第三个表的 SQL Join 2 Case
- python - 从静态文件夹访问时不显示 SVG 图像文件
- python-3.x - 如何在列表中查找具有给定短语的项目?
- sql - 仅返回分区列的最高行号
- c++ - 如何将 _RICHEDIT_VER (riched20.dll) 升级到版本 3 或更高版本
- azure - Azure BLOB 表服务的效率如何?
- php - laravel foreach 中的 Href 只返回数组中的最后一条记录