为什么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:

我有一个非常简单的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: 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

变量名应该是字母、数字和下划线。变量 应该总是以字母开头


这就是问题所在。非常感谢你!这就是问题所在。非常感谢你!