通常情况下,在shell脚本中需要获取命令的输出内容,然后根据输出内容判断下一步的执行操作。 比较常用的一种方式就是, 匹配命令输出的内容中是否存在某些关键字,选择执行的不同动作。 比较常用的一种方式就是采用反向单引号的方式 -- 保存结果的变量名=`需要执行的linux命令` 这种方式在使用时,有些细节的地方需要注意。
在CentOS7中,使用`rpm -qa`命令查询rpm包是否安装。若未安装则进行安装操作。创建脚本`test.sh`并执行:bash test.sh 输出结果:command(rpm -qa) results are: zlib-1.2.7-13.el7.x86_64 package zlib has already installed.此脚本功能正常。对于iscsi-initiator软件包的安装情况,使用`iscsiadm...
这个现象出现的原因是有可能命令的执行结果被重定向了。 试着将check_results=`java -version` 改成check_results=`java -version 1> /dev/stdout` 和 check_results=`java -version 2> /dev/sdtout` 看看输出是否有变化 为了防止这种情况的发生,最终我们将上面改成check_results=`java -version 2>&1` 这样...