我想将Linux shell的输出插入到一个变量中,但出于某些原因,变量始终为空。
这是Ansible代码:
- name: Check PHP version
shell: php -v 2> /dev/null | awk '{print $2; exit}'
register: php_version
- debug: var=php_version
以下是输出结果:
ok: [10.0.0.5] => {
"php_version": {
"changed": true,
"cmd": "php -v 2> /dev/null | awk '{print $2; exit}'",
"delta": "0:00:00.015180",
"end": "2017-01-08 18:41:00.323773",
"rc": 0,
"start": "2017-01-08 18:41:00.308593",
"stderr": "",
"stdout": "",
"stdout_lines": [],
"warnings": []
}
}
当我直接在服务器上运行命令时,可以得到有效的结果:
php -v 2> /dev/null | awk '{print $2; exit}'
7.0.14
可能出现了什么问题?
/bin/sh
? - Zlemini2> /dev/null | awk '{print $2; exit}'
的情况下运行它,希望您能看到错误。 - Zlemini