Ansible

Ansible shell 模組空響應

  • January 7, 2018

當我使用 ansible 的 shell 模組執行命令“我是誰”時,我得到一個空響應,我不知道為什麼?

 hosts: server1
 remote_user: devops
 become: true
 tasks:
   - name: print current user
     shell: who am i
     register: userr
   - debug:
       msg: "{{ userr.stdout }}"

[root@ansible test]# ansible-playbook test.yml 

PLAY [test playbook] ********************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************
ok: [server1]

TASK [print current user] ***************************************************************************************************************************
changed: [server1]

TASK [debug] ****************************************************************************************************************************************
ok: [server1] => {
   "msg": ""
}

PLAY RECAP ******************************************************************************************************************************************
server1                    : ok=3    changed=1    unreachable=0    failed=0 

我認為的原因是 ansible 沒有使用登錄 shell 來執行命令。所以該命令不顯示任何內容。

If you replace: 

who am i

with:

su - anotheruser; who am i

你應該看到一個輸出。

引用自:https://unix.stackexchange.com/questions/415378