首先看一下下面写好的脚本:
#!/bin/bash -x
valid_ip=0
while [ $valid_ip ]
do
echo -n "Please input IP address: "
read ip
chkip=(`echo $ip|awk -F '.' '{print $1}'` `echo $ip|awk -F '.' '{print $2}'` `echo $ip|awk -F '.' '{print $3}'` `echo $ip|awk -F '.' '{print $4}'`)
if [ -z $ip ]; then
echo "Sorry, Please input an IP address."
elif [ -z ${chkip[0]} ] || [ -z ${chkip[1]} ] || [ -z ${chkip[2]} ] || [ -z ${chkip[3]} ]; then
echo "Sorry, Please input a valid IP address. (1)"
elif [ ${chkip[0]}>=255 ] || [ ${chkip[0]}<0 ] || [ ${chkip[1]}>255 ] || [ ${chkip[1]}<0 ] || [ ${chkip[2]}>255 ] || [ ${chkip[2]}<0 ] || [ ${chkip[3]}>=255 ] || [ ${chkip[3]}<=0 ]; then
echo "Sorry, Please input a valid IP address. (2)"
else
valid_ip=1
fi
done
echo ${chkip[0]}
echo ${chkip[1]}
echo ${chkip[2]}
echo ${chkip[3]}
主要是
elif [ ${chkip[0]}>=255 ] || [ ${chkip[0]}<=0 ] || [ ${chkip[1]}>255 ] || [ ${chkip[1]}<0 ] || [ ${chkip[2]}>255 ] || [ ${chkip[2]}<0 ] || [ ${chkip[3]}>=255 ] || [ ${chkip[3]}<=0 ]; then
这部分条件不管我输入的是什么,始终是为‘真’,根本执行不了else下面的代码!请问我这代码是哪里错了,已经研究了很久了,希望各位热心的网友能帮忙分析下,谢谢了!