通过我的 ansible 任务,我想检查环境中是否安装了openjdk 。
- name: Check if java is installed on environment
shell: rpm -qa | grep 'openjdk'
register: result
Run Code Online (Sandbox Code Playgroud)
结果我失败了,因为 grep 没有找到任何东西,返回码是 1。
任务 [xms_webapp:检查环境中是否安装了 java] ****************** 致命:[10.230.14.21]:失败!=> {“更改”:true,“cmd”:“rpm -qa | grep 'openjdk'”,“delta”:“0:00:00.721086”,“end”:“2019-02-20 12:17: 40.253171", "msg": "非零返回码", "rc": 1, "start": "2019-02-20 12:17:39.532085", "stderr": "", "stderr_lines": [ ], "stdout": "", "stdout_lines": []} 要重试,请使用: --limit @/opt/ngpe/share/playbooks/xms/xms.retry
作为替代方法,我尝试使用less命令和他的 -p 选项来使用模式。
rpm -qa > /tmp/openjdk.txt | less -p /'\w[openjdk]' /tmp/openjdk.txt
Run Code Online (Sandbox Code Playgroud)
但结果是“找不到模式”。
当我用 vim 打开文件并输入:/openjdk
我发现有通缉字。
plymouth-scripts-0.8.3-29.el6.x86_64
lm_sensors-libs-3.1.1-17.el6.x86_64
vim-minimal-7.4.629-5.el6_8.1.x86_64
adl-release-13-03.00.09.el6.noarch …
Run Code Online (Sandbox Code Playgroud)