我有以下bash脚本:
mumodule a.version
当我运行bash a.sh
时,会打印结果:
a_machine:
2
b_machine:
2
c_machine:
1
我想在.sh
脚本中检查所有计算机的版本:2
并打印True
,否则False
。
有没有办法将结果放入变量并检查此输出?
答案 0 :(得分:1)
a.sh | grep "^ \+[0-9.]\+$" | grep -qv "^ \+2$" && echo False || echo True
它做了什么?
首先,运行您的a.sh
脚本。
然后,过滤其输出,以便只有以空格开头并以数字结尾的行才会继续。这是通过第一个grep
命令完成的。
之后,它会检查在初始空格之后是否有任何已过滤的行不包含数字2。这是由第二个grep
命令完成的。
最后,如果前一个grep
命令成功(至少有一行没有数字2),则打印False
。如果失败(所有行都有数字2)打印True
。