Ansible
Ansible shell 模組空響應
當我使用 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
你應該看到一個輸出。