如何使用Ansible来源/ etc / profile或/etc/bash.bashrc文件

时间:2017-09-22 17:33:29

标签: bash shell ansible

我正在尝试使用Ansible来源/ etc / profile或/etc/bash.bashrc,但不断收到错误消息。

TASK [Source Profile] 
*********************************************************************

fatal: [localhost]: FAILED! => {"changed": false, "cmd": "source /etc/profile", _
    "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}

我的代码是

- name: Source Profile
  shell: source /etc/bash.bashrc
  args:
    executable: /bin/bash

我尝试了很多其他的事情。

,例如command: source /etc/bash.bashrc (还尝试了/etc/profile而不是/etc/bash.bashrc

我如何获取或应用此方法的最佳方法是什么?

谢谢

1 个答案:

答案 0 :(得分:0)

仔细检查您尝试提供的文件是否存在,来自您的错误消息" 没有此类文件或目录"告诉你文件不存在,例如,这在本地工作:

# ansible-playbook -i "localhost," -c local test.yml
---
- hosts: localhost
  tasks:
    - name: test source profile
      shell: source /etc/bashrc
      register: output 
      args:
        executable: /bin/bash

    - debug: msg="{{ output }}" 

在这种情况下,正在尝试提供/etc/bashrc

另外,请注意register: output和:

- debug: msg="{{ output }}"

这会将命令的输出注册到名为output的变量并打印其内容,试一试,它可以为您提供更多关于错误的想法。

它将输出如下内容:

$ ansible-playbook -i "localhost," -c local test.yml

PLAY [localhost] ***************************************************************

TASK [setup] *******************************************************************
ok: [localhost]

TASK [test source profile] *****************************************************
changed: [localhost]

TASK [debug] *******************************************************************     
ok: [localhost] => {                      
    "msg": {                              
        "changed": true,                  
        "cmd": "source /etc/bashrc",      
        "delta": "0:00:00.004553",        
        "end": "2017-09-22 21:15:24.654777",                                         
        "rc": 0,                          
        "start": "2017-09-22 21:15:24.650224",                                       
        "stderr": "",                     
        "stdout": "",                     
        "stdout_lines": [],               
        "warnings": []                    
    }                                     
} 

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0