我想通过 Ansible 发出命令:
curl -sL https://deb.nodesource.com/setup | sudo bash -
我怎样才能通过 Ansible 做到这一点?我现在有:
- name: Add repository
command: curl -sL https://deb.nodesource.com/setup | sudo bash -
但它抛出错误:
[WARNING]: Consider using get_url or uri module rather than running curl
fatal: [127.0.0.1]: FAILED! => {"changed": true, "cmd": ["curl", "-sL", "https://deb.nodesource.com/setup", "|", "sudo", "bash", "-"], "delta": "0:00:00.006202", "end": "2017-12-27 15:11:55.441754", "msg": "non-zero return code", "rc": 2, "start": "2017-12-27 15:11:55.435552", "stderr": "curl: option -: is unknown\ncurl: try 'curl --help' or 'curl --manual' for more information", "stderr_lines": ["curl: option -: is unknown", "curl: try 'curl --help' or 'curl --manual' for more information"], "stdout": "", "stdout_lines": []}
最佳答案
你可以:
- name: Add repository
shell: curl -sL https://deb.nodesource.com/setup | sudo bash -
args:
warn: no
shell
允许管道,warn: no
压制警告。但如果我是你,我会使用
apt_key
+ apt_repository
Ansible 模块创建自我解释剧本,也支持 check_mode
运行。
关于ansible - 如何使用 Ansible 管道命令?例如curl -sL host.com |须藤重击 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47994497/