2014-12-27 77 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