重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以将命令的执行结果赋值给一个变量,然后通过变量的长度来判断是否有输出,如下命令判断是否有fake raid:
创新互联建站为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站制作、网站建设, 我们的网页设计师为您提供的解决方案。
info=`ls /dev/mapper/isw_*`
if [ -z "$info" ]; then
echo "find no fake raid"
else
echo "yes, find result is $info"
fi
这里info变量保存的是`ls /dev/mapper/isw_*`输出结果,通过if来判断输出是否为空,-z判断为空,-n判断是非空
$?是上条命令的执行结果,0为成功,非0则为不成功;
expr是linux系统上一个简单的计算器, expr substr "$str1" 1 1 这个命令执行的结果如果等于0;
总体上说,这个判断就是要上条命令的执行结果和前面的那个计算公式的结果都为0,如果成立,则执行后面的语句
shell脚本中判断上一个命令是否执行成功
shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败。
结合if-else语句实现判断上一个命令是否执行成功。
示例如下:
if [ $? -ne 0 ]; then
echo "failed"
else
echo "succeed"
fi
或者:
if [ $? -eq 0 ]; then
echo "succeed"
else
echo "failed"
fi