通过Ansible playbook检查Java版本
以下是我的剧本:通过Ansible playbook检查Java版本,java,shell,scripting,ansible,version,Java,Shell,Scripting,Ansible,Version,以下是我的剧本: --- - hosts: UAT gather_facts: false remote_user: xxxx become_method: sudo become: yes become_user: sudo_user tasks: - name: Fetch Java version command: java -version register: java_result ignore_errors: True
---
- hosts: UAT
gather_facts: false
remote_user: xxxx
become_method: sudo
become: yes
become_user: sudo_user
tasks:
- name: Fetch Java version
command: java -version
register: java_result
ignore_errors: True
- debug: "msg={{ java_result.stdout }}"
...
我得到以下错误:
fatal: [ma-dsast-lapp10]: FAILED! => {
"changed": false,
"cmd": "java -version '2>&1' '|' grep version",
"failed": true,
"invocation": {
"module_args": {
"_raw_params": "java -version 2>&1 | grep version",
"_uses_shell": false,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"warn": true
}
},
"msg": "[Errno 2] No such file or directory",
"rc": 2
}
即时消息:没有这样的文件或目录错误
这有什么问题吗?
请在这方面帮助我。我在我的机器上运行了你的脚本,但它也不起作用。我稍微修改了一下
---
- hosts: localhost
gather_facts: False
tasks:
- name: Fetch Java version
shell: java -version 2>&1 | grep version | awk '{print $3}' | sed 's/"//g'
changed_when: False
register: java_result
- debug:
msg: "{{ java_result.stdout }}"
我得到了
TASK [debug] *******************************************************************************************
ok: [localhost] => {
"msg": "1.8.0_181"
}
- 主持人:全部
远程用户:root
收集事实:错误
任务:
- 名称:获取Java版本 shell:java-version2>&1 | grep build | awk-F“\n”{print$1}” 更改时间:False 寄存器:java_结果
- 调试: msg:“{java_result.stdout}”
dsservt
)中吗?@nwinkler是的,java安装在所述路径中。@nwinkler--我尝试了您的更改。我仍然面临同样的问题。我相信可能存在一些访问问题。请在发布答案时进行更多描述。