1. ipo=`ip a show ens33 | grep -E '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'| awk '{print $2,$NF}'`
    2. echo "参考的IP地址信息: $ipo"
    3. read -p "please input ip address:" ips
    4. a1=`echo $ips | awk -F '.' '{print $1}'`
    5. a2=`echo $ips | awk -F '.' '{print $2}'`
    6. a3=`echo $ips | awk -F '.' '{print $3}'`
    7. a4=`echo $ips | awk -F '.' '{print $4}'`
    8. if [[ "$ips" =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]];then
    9. if [ $a1 -le 255 -a $a2 -le 255 -a $a3 -le 255 -a $a4 -lt 256 ];then
    10. echo "input ip address is ok……"
    11. else
    12. echo "input ip address is not ok……"
    13. exit
    14. fi
    15. else
    16. echo "input ip address is not ok……"
    17. exit
    18. fi
    19. read -p "please input ip netmask:" ipv
    20. u1=`echo $ipv | awk -F '.' '{print $1}'`
    21. u2=`echo $ipv | awk -F '.' '{print $2}'`
    22. u3=`echo $ipv | awk -F '.' '{print $3}'`
    23. u4=`echo $ipv | awk -F '.' '{print $4}'`
    24. if [[ "$ipv" =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]];then
    25. if [ $u1 -le 255 -a $u2 -le 255 -a $u3 -le 255 -a $u4 -lt 256 ];then
    26. echo "input ip netmask is ok……"
    27. else
    28. echo "input ip netmask is not ok……"
    29. exit
    30. fi
    31. else
    32. echo "input ip netmask is not ok……"
    33. exit
    34. fi
    35. read -p "plsase input ip gateway:" ipu
    36. o1=`echo $ipu | awk -F '.' '{print $1}'`
    37. o2=`echo $ipu | awk -F '.' '{print $2}'`
    38. o3=`echo $ipu | awk -F '.' '{print $3}'`
    39. o4=`echo $ipu | awk -F '.' '{print $4}'`
    40. if [[ "$ipu" =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]];then
    41. if [ $o1 -le 255 -a $o2 -le 255 -a $o3 -le 255 -a $o4 -lt 256 ];then
    42. echo "input ip gateway is ok……"
    43. else
    44. echo "input ip gateway is not ok……"
    45. exit
    46. fi
    47. else
    48. echo "input ip gateway is not ok……"
    49. exit
    50. fi
    51. read -p "please input ip dns:" ipm
    52. t1=`echo $ipm | awk -F '.' '{print $1}'`
    53. t2=`echo $ipm | awk -F '.' '{print $2}'`
    54. t3=`echo $ipm | awk -F '.' '{print $3}'`
    55. t4=`echo $ipm | awk -F '.' '{print $4}'`
    56. if [[ "$ipm" =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]];then
    57. if [ $t1 -le 255 -a $t2 -le 255 -a $t3 -le 255 -a $t4 -lt 256 ];then
    58. echo "input ip dns is ok……"
    59. else
    60. echo "input ip dns is not ok……"
    61. exit
    62. fi
    63. else
    64. echo "input ip dns is not ok……"
    65. exit
    66. fi
    67. file1=/etc/sysconfig/network-scripts/ifcfg-ens33
    68. cat >> $file1 <<eof
    69. IPADDR=$ips
    70. NETMASK=$ipv
    71. GATEWAY=$ipu
    72. DNS1=$ipm
    73. eof
    74. sed -i '/^BOOTPROTO=/c BOOTPROTO="static"' $file1
    75. systemctl restart network