zoukankan      html  css  js  c++  java
  • shell基础之更改IP

    要求:

      显示所有网卡及其对应的IP地址,并可更改IP相关内容使其生效。

     1 #!/bin/bash
     2 #获取本机网卡和IP
     3 while :
     4 do
     5 network=$(ifconfig |grep BROAD |awk -F: '{print $1}')
     6 echo -e "本机网卡	IP"
     7 for single_network in $(echo $network);do
     8     all_ip=$(ifconfig $single_network |grep -w "inet" |awk '{print $2}')
     9     echo -e "$single_network		$all_ip"
    10 done
    11 #获取要更改的网卡名称
    12 while :
    13 do
    14 read -p "请输入要更改的网卡名称(默认退出):" new_network
    15     if [ -z $new_network ];then
    16     echo "退出脚本"
    17     exit
    18     else
    19     judge_new_network=`echo "$network" |grep -w "$new_network"`
    20         if [ -z "$judge_new_network" ];then
    21         echo "请输入正确的网卡名!"
    22         else
    23         break
    24         fi
    25     fi    
    26 done    
    27 #要更改的IP,掩码,网关
    28 IPZZ="^([0-9].|[1-9][0-9].|1[0-9][0-9].|2[0-4][0-9].|25[0-5].){3}([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])$"
    29 netmask_ZZ="^([0-9].|[1-9][0-9].|1[0-9][0-9].|2[0-4][0-9].|25[0-5].){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$"
    30 #输入新的IP地址
    31 while :
    32 do
    33 read -p "请输入新的IP地址:" new_ip
    34     if [ -z $new_ip ];then
    35     echo "IP地址不能为空,请重新输入!"
    36     elif [[ $new_ip =~ $IPZZ ]];then
    37     break
    38     else
    39     echo "请输入正确的IP地址!"
    40     fi
    41 done
    42 #输入掩码
    43 while :
    44 do
    45 read -p "请输入新的掩码(默认为255.255.255.0):" new_netmask
    46     if [ -z $new_netmask ];then
    47     new_netmask=255.255.255.0
    48     break
    49     elif [[ $new_netmask =~ $netmask_ZZ ]];then
    50     break
    51     else
    52     echo "请输入正确的掩码!"
    53     fi
    54 done
    55 #输入网关
    56 while :
    57 do
    58 read -p "请输入新的网关:" new_gateway
    59     if [ -z $new_gateway ];then
    60     echo "网关不能为空,请重新输入!"
    61     elif [[ $new_gateway =~ $IPZZ ]];then
    62     break
    63     else
    64     echo "请输入正确的网关!"
    65     fi
    66 done
    67 #写入配置文件
    68 echo "NAME=$new_network
    69 DEVICE=$new_network
    70 ONBOOT=yes
    71 BOOTPROTO=none
    72 IPADDR=$new_ip
    73 NETMASK=$new_netmask
    74 GATEWAY=$new_gateway
    75 DNS1=114.114.114.114
    76 DNS2=8.8.8.8" > /etc/sysconfig/network-scripts/ifcfg-$new_network
    77 #重启服务
    78 systemctl restart network
    79 done
  • 相关阅读:
    NBUT 1120 Reimu's Teleport (线段树)
    NBUT 1119 Patchouli's Books (STL应用)
    NBUT 1118 Marisa's Affair (排序统计,水)
    NBUT 1117 Kotiya's Incantation(字符输入处理)
    NBUT 1115 Cirno's Trick (水)
    NBUT 1114 Alice's Puppets(排序统计,水)
    188 Best Time to Buy and Sell Stock IV 买卖股票的最佳时机 IV
    187 Repeated DNA Sequences 重复的DNA序列
    179 Largest Number 把数组排成最大的数
    174 Dungeon Game 地下城游戏
  • 原文地址:https://www.cnblogs.com/renyz/p/11305329.html
Copyright © 2011-2022 走看看