2015-12-04 44 views
1

我想運行與此類似Ansible任務運行在一個shell命令的變量:插值通過Ansible

--- 
- name: symlink the nodejs executable to node 
    command: ln -sf "$(which nodejs)" /usr/bin/node 
    sudo: True 

我發現,部分"$(which nodejs)"不會被插值到字符串,但採取literalle - 因此,創建一個格式不正確的符號鏈接。

如何使用Ansible命令模塊將此部分內插到適當的字符串中?

回答

3

好,

我可能要急於先問清楚,而不是想辦法自己。這裏有一個解決方案:

--- 
- name: Find path to nodejs 
    command: which nodejs 
    register: nodejs_path 

- name: symlink the nodejs executable to node 
    command: "ln -sf {{ item }} /usr/bin/node" 
    sudo: True 
    with_items: nodejs_path.stdout