为什么Ansible注册变量未定义?
我有一个非常简单的Ansible任务模块,它执行以下操作:为什么Ansible注册变量未定义?,ansible,Ansible,我有一个非常简单的Ansible任务模块,它执行以下操作: # Runs a couple of plays successfully... - name: check if php-fastcgi process running shell: ps -eaf | grep php5-cgi | grep -v grep register: php-fastcgi-status ignore_errors: True changed_when: False - debug:
# Runs a couple of plays successfully...
- name: check if php-fastcgi process running
shell: ps -eaf | grep php5-cgi | grep -v grep
register: php-fastcgi-status
ignore_errors: True
changed_when: False
- debug: var=php-fastcgi-status.rc
- meta: end_play
运行playbook时,出现以下错误:
TASK [php: check if php-fastcgi process running] ********
ok: [myexample.com]
TASK [php: debug] ***********
ok: [myexample.com] => {
"php-fastcgi-status.rc": "VARIABLE IS NOT DEFINED!"
}
但是,如果我登录到服务器并手动运行相同的命令:
ps -eaf | grep php5-cgi | grep -v grep
。。。我看到了所有的过程。如果我这样做了
echo $?
我得到了预期的“0”。在我的Ansible剧本中我做错了什么?在过去的三个小时里,我一直在阅读Ansible文档并努力解决这个问题,但没有发现问题。您的寄存器变量名包含无效字符。将
-
替换为.
register: php_fastcgi_status
从
变量名应该是字母、数字和下划线。变量
应该总是以字母开头
您的寄存器变量名包含无效字符。将
-
替换为.
register: php_fastcgi_status
从
变量名应该是字母、数字和下划线。变量
应该总是以字母开头
这就是问题所在。非常感谢你!这就是问题所在。非常感谢你!