1. 设置当命令带有非0返回值时立刻退出:set -e

2. 十六进制转换为十进制:num_16=`echo "ibase=10;obase=16;$num"|bc`

3. IP合法性校验

function valid_ip()

{

    local  ip_local=$1

    local  stat=1

    if [[ $ip_local =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then

        OIFS=$IFS

        IFS='.'

        ip_local=($ip_local)

        IFS=$OIFS

if [[ -z ${ip_local[0]} ]] || [[ -z ${ip_local[1]} ]] || [[ -z ${ip_local[2]} ]] || [[ -z ${ip_local[3]} ]]

then

return 1

fi

        [[ ${ip_local[0]} -le 255 && ${ip_local[1]} -le 255 \

            && ${ip_local[2]} -le 255 && ${ip_local[3]} -le 255 ]]

        stat=$?

    fi

    return $stat

}