linux的if多条件语句,51CTO博客-专业IT技术博客创作平台-技术成就梦想

想要编写一个简单的ping测试脚本,由用户输入起始和中指IP地址。其中需要判断用户输入的IP地址必须是0-255的访问,使用if语句进行条件判断如下:

if [ "${beginum}" -lt 0 ] || [ "${beginnum}" -gt 255 ] || [  "${endnum}" -lt 0 ] || [  "${endnum}" -gt 255 ]

运行的时候报错,经过几次尝试才知道这种if [ 条件1 || 条件2 ]格式只能支持最多2个条件。

if [[ 条件1 || 条件2 || 条件3 || 条件N ]]

使用这种` `双重中括号的形式能够支持多个条件

脚本如下:(还有多处未完善。。。)

#!/bin/bash

#Description

#       this program is for "for" practice

#Histroy

#2017/4/5

PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/gaga/.local/bin:/home/gaga/bin

export PATH

if [[ "$2" -lt 0 || "$2" -gt 255 ]];then

echo "begin num should bettween(0-255)" && exit 1

fi

if [[ "$3" -lt 0 || "$3" -gt 255 ]];then

echo "end num should bettween(0-255)" && exit 2

fi

for nethost in $(seq $2 $3)

do

ping -c 3 -w 1 $1.${nethost} >/dev/null 2>&1 && statu=0 || statu=1

if [ "${status}" == "1" ];then

echo "$1.${nethost} is up!"

else

echo "$1.${nethost} is down!"

fi

done

exit 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值