欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

bash 脚本编程八 匹配命令输出,bash脚本编程

来源: javaer 分享于  点击 20441 次 点评:141

bash 脚本编程八 匹配命令输出,bash脚本编程


当输入java -version的时候,如果安装了jdk,会输出类似下面的信息:

$ java -version
java version "1.6.0_34"
Java(TM) SE Runtime Environment (build 1.6.0_34-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.9-b04, mixed mode)

可以用expr match对输出结果进行查找,如果找到子字符串"java version",就认为Java可用。

#!/bin/bash 

v=`java -version 2>&1`

echo 'check java platform...'

pos=`expr match "$v" 'java'`
if [ $pos -gt 0 ]
then
    echo 'java was installed'
else
    echo 'java was not installed'
fi

2>&1 这个命令很奇怪,简称"二大爷的"。

2是stderr,1是stdout 

2>1就是将stderr重定向到stdout, 1前面用&是为了告诉bash  1是file descriptor而不是file name


expr match 第二个参数是正则表达式,因此匹配功能比较强大。如果匹配失败,则返回0,否则返回大于0的整数。




相关文章

    暂无相关文章
相关栏目:

用户点评