shell的空字符判断

Zss 发表于:

有的时候需要使用一条命令的结果来判断是否得到想要的结果,这时候使用空字符来判断会很方便

当我在ping一个地址,我过滤成功的信息,成功的话是有ttl的信息,那么此时返回的结果不为空字符,若失败那么返回空

判断的方法为:[ “${result}” ] 判断是否为空字符

result=`ping www.baidu.com -c 4|grep 'ttl'`
if [ ! "${result}" ];then
    echo '网络异常,请检测网络!'
else
    echo '网络正常! 准备下载python源码'
fi
# !/bin/sh
# Ping网段所有IP
ip = "192.168.0."
for i in `seq 1 254`
do
ping - c 2 $ip$i | grep - q 'ttl=' && echo "$ip$i yes" | | echo "$ip$i no"
# yes正常,no主机不存在或不正常
done