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 "本機網卡\tIP"
 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\t\t$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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM