1. 程式人生 > >學習筆記之ubuntu修改固定IP腳本

學習筆記之ubuntu修改固定IP腳本

erro rest 固定ip class boot ace 修改 load gateway

一、shell腳本編程

二、正則表達式

三、linux修改IP的方法

#!/bin/bash

cd /etc/network/

stty erase ^?

write_interfaces()
{
echo "auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address $1
netmask 255.255.255.0
gateway $2
" > interfaces
}

reboot_fun()
{
        echo "reboot now?(Y/N)
" read reb_in if [[ ${reb_in} = $Y || ${reb_in} = $y ]] then echo "reboot now" reboot else echo "pls reboot if you can not ping the IP" fi } ping_func() { ping -c 3 $set_IP && result=1
|| result=0 if [ $result -eq 1 ] then { echo "set Ip conflict" continue IP_INPUT=0 } fi if [ $result -eq 0 ] then { echo "IP is ok:$set_IP" write_interfaces $set_IP $GateWay
/etc/init.d/networking reload /etc/init.d/networking restart echo "set ok" IP_INPUT=1 } fi } echo "set IP into the main.cpp" IP_INPUT=0 while [ $IP_INPUT -eq 0 ] do echo "input IP" read set_IP -n if [[ $set_IP =~ ^([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$ ]] then echo "input gateway" read GateWay arr_IP=${set_IP//./ } arr_IP=($arr_IP) arr_gw=${GateWay//./ } arr_gw=($arr_gw) for arr in 0 1 2 do if [ ${arr_IP[$arr]} == ${arr_gw[$arr]} ] then echo "arr_IP:${arr_IP[$arr]}" else echo "error IP :$set_IP" continue 2 fi done ping_func fi done reboot_fun

學習筆記之ubuntu修改固定IP腳本