2014-12-27 78 views
2

我正在尝试编写一个简单易行的脚本来安装最新的clang/llvm工具链,但我无法获得第二条语句来运行。wget | sudo在Ansible命令中失败

它是基于: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容易键#将 - ”在命令行

干杯, 迈克手动

+0

#是YAML语法中的注释。也许就是这样? –

+2

你最好用apt_key模块替换整个wget行:http://docs.ansible.com/apt_key_module.html –

+0

@Mikko这是一个错字。纠正。 – Mike

回答

4
module documentation

报价:

这不会是通过shell处理,所以像$ HOME和操作,如“<”,“>”,变量“|”和“&”,将无法正常工作(使用shell模块,如果你需要这些功能)

+0

感谢您的指针。我用apt_key重写了它 – Mike

3

根据mgsk和Slava的回复,我重写了我的脚本以使用

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