register

register用于注册一个变量,保存命令的结果(shell或command模块),这个变量可以在后面的task、when语句或模板文件中使用。示例如下:

- shell: /bin/pwd
  register: pwd_result

此时变量pwd_result的结果为:

{
    u'changed': True, 
    u'end': u'2014-02-23 12:02:51.982893', 
    u'cmd': [u'/bin/pwd'], 
    u'start': u'2014-02-23 12:02:51.980191', 
    u'delta': u'0:00:00.002702', 
    u'stderr': u'', 
    u'rc': 0,           #这个就是命令返回状态,非0表示执行失败
    'invocation': {'module_name': 'command', 'module_args': '/bin/pwd'}, 
    u'stdout': u'/home/sapser',    #以一个字符串保存命令结果
    'stdout_lines': [u'/home/sapser']     #以列表保存命令结果
}

在随后的task中使用该变量:

- debug: msg="{{pwd_result}}"
  when: pwd_result.rc == 0

Reference

Last updated