在bash中检查命令的结果

时间:2015-10-19 13:12:45

标签: bash

我有以下bash脚本:

mumodule a.version

当我运行bash a.sh时,会打印结果:

a_machine:
      2
b_machine:
      2
c_machine:
      1

我想在.sh脚本中检查所有计算机的版本:2并打印True,否则False

有没有办法将结果放入变量并检查此输出?

1 个答案:

答案 0 :(得分:1)

a.sh | grep "^ \+[0-9.]\+$" | grep -qv "^ \+2$" && echo False || echo True

它做了什么?

首先,运行您的a.sh脚本。

然后,过滤其输出,以便只有以空格开头并以数字结尾的行才会继续。这是通过第一个grep命令完成的。

之后,它会检查在初始空格之后是否有任何已过滤的行不包含数字2。这是由第二个grep命令完成的。

最后,如果前一个grep命令成功(至少有一行没有数字2),则打印False。如果失败(所有行都有数字2)打印True

相关问题