Linux Shell實戰之三 自動修改為靜態IP

來源:互聯網
上載者:User

標籤:shell   linux   指令碼   

本指令碼主要用於修改IP地址為靜態!

#!/bin/bash##Target: Auto Chmod IP Information!#Date: 2015-05-10#Author: Jacken#QQ:654001593#QQ Group:170544180#Version: 1.0#Only allow define variableshopt -s -o nounset#Define VariableETHCONFIG=‘/etc/sysconfig/network-scripts/ifcfg-eth1‘HOSTS=‘/etc/hosts‘NETWORK=‘/etc/sysconfig/network‘BAKDIR="/data/backup/`date +%Y%m%d`"NETMASK=‘255.255.255.0‘GATEWAY=‘192.168.1.254‘DNS1=‘8.8.8.8‘####################################################################################################################Define Function#############################################################################################################function CHANGE_IP(){#Create Directoryif [ ! -d $BAKDIR ];thenmkdir -p $BAKDIRfi#Prompt Information#Backup Network Filecp $ETHCONFIG $BAKDIR/`date +%Y%m%d`.${ETHCONFIG:37}$$ && echo -e "\e[32mNow Change Ip Address, Backup Interface ${ETHCONFIG:37} to $BAKDIR Done\e[0m"#Judge Get Ip Modeif `grep -q  -i  ‘dhcp‘ $ETHCONFIG` ;then#Change Get Ip Modesed -i ‘s/dhcp/static/Ig‘ $ETHCONFIG sed -i ‘s/^DNS/#DNS/Ig‘  $ETHCONFIGecho -e "IPADDR=$IPADDR\nNETMASK=$NETMASK\nGATEWAY=$GATEWAY\nDNS1=$DNS1" >> $ETHCONFIG         echo -e ‘\e[32mIP Change Success!\e[0m‘else#Warning Informationecho -e "\e[31mThe Network alreday is static,Please ensure YES or NO: " read i                #Again Confirmif [ "$i" == "y" -o "$i" == "yes" -o "$i" == "YES" ];then#Comment Old Configure sed -i -e ‘s/^IPADDR/#IPADDR/g‘ -e ‘s/^NETMASK/#NETMASK/g‘ -e ‘s/^GATEWAY/#GATEWAY/g‘ -e ‘s/^DNS/#DNS/g‘ $ETHCONFIGecho -e "IPADDR=$IPADDR\nNETMASK=$NETMASK\nGATEWAY=$GATEWAY\nDNS1=$DNS1" >> $ETHCONFIG echo -e "\e[32mThe Ip Address is $IPADDR ,Change Success!\e[0m"else#Exitecho -e "\e[31mThis $ETHCONFIG static exist, exiting...\e[0m"fifi}#################################################################################Check Ip Addressfunction CHECK_IP(){read -p "Please Input Ip address: " IPADDR#Test IP Formatecho $IPADDR|grep "^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$" > /dev/null 2>&1num=$?if [ $num -ne 0 ];thenecho -e "\e[31mPlease Check IP Format exiting....\e[0m"exit 2else#Get Part Of Ip a=`echo $IPADDR|awk -F. ‘{print $1}‘`b=`echo $IPADDR|awk -F. ‘{print $2}‘`c=`echo $IPADDR|awk -F. ‘{print $3}‘`d=`echo $IPADDR|awk -F. ‘{print $4}‘`if [ $a -gt 255 ] ||  [ $a -le 0 ];thenecho -e "\e[31mPlease Check IP Format exiting...\e[0m"exit 2fiif [ $b -gt 255 ] || [ $b -lt 0 ];thenecho -e "\e[31mPlease Check IP Format exiting...\e[0m"exit 2fiif [ $c -gt 255 ] || [ $c -lt 0 ];thenecho -e "\e[31mPlease Check IP Format exiting...\e[0m"exit 2fiif [ $d -ge 255 ] || [ $d -le 0 ];thenecho -e "\e[31mPlease Check IP Format exiting...\e[0m"exit 2fiexport $IPADDRfi}#Define PS3PS3="Please Select Your Choose:"select i in "Change IP And DNS For ${ETHCONFIG:37}" "Show ${ETHCONFIG:37} Config File"  "Restart Device ${ETHCONFIG:37}" "Show ${ETHCONFIG:37} Status"  "Exit" do CHOOSE=$REPLYcase $CHOOSE in 1)CHECK_IPCHANGE_IP;;2)cat $ETHCONFIG;;3)ifdown ${ETHCONFIG:37} > /dev/null 2>&1 && ifup ${ETHCONFIG:37} > /dev/null 2>&1if [ $? -eq 0 ];then echo -e "\e[32mRestart Device ${ETHCONFIG:37} Success.\e[0m"elseecho -e "\e[31mRestart Device ${ETHCONFIG:37} Failure.\e[0m"fi;;4)ifconfig ${ETHCONFIG:37};;5)echo -e ‘\e[32mByeBye!\e[0m‘exit;;*)echo -e ‘\e[31mError Number,Please Input Again!‘esacdone

示範:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/A6/wKioL1VPXILiKMC1AAZNrPsODLI760.jpg" title="11.jpg" alt="wKioL1VPXILiKMC1AAZNrPsODLI760.jpg" />


本文出自 “一步步踏入Linux世界” 部落格,請務必保留此出處http://linuxnote.blog.51cto.com/9876511/1650076

Linux Shell實戰之三 自動修改為靜態IP

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.