在Ansible命令中wget | sudo失败

时间:2014-12-27 22:09:37

标签: clang wget ansible

我正在尝试编写一个简单的ansible脚本来安装最新的clang / llvm工具链,但是我无法运行第二个语句。

它基于:http://llvm.org/apt/用于ubuntu

---
- name: add llvm toolchain repo for {{ ubuntu_version }}
   apt_repository: repo='deb http://llvm.org/apt/{{ubuntu_version }}/ llvm-toolchain-{{ ubuntu_version }} main'
   sudo: yes

- name: add key toolchain (does not work)
  command: wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -
  sudo: yes

- name: install llvm and clang
  apt: pkg={{item}} state=latest update_cache=yes
  with_items: clang_packages
  sudo: yes

任何人都知道可能是什么问题。如果我在命令行中手动运行“wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key #add - ”

干杯, 麦克

2 个答案:

答案 0 :(得分:4)

引自module documentation

  

它不会通过shell处理,因此像$ HOME这样的变量和"<",">"," |&#34等操作;和"&"不起作用(如果你需要这些功能,请使用shell模块)

答案 1 :(得分:3)

基于mgsk和Slava的回复,我已经重写了我的脚本以使用

- name: add key toolchain
  apt_key: url=http://llvm.org/apt/llvm-snapshot.gpg.key state=present
  sudo: yes