中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用Shell腳本實現自動修改IP、主機名等功能

發布時間:2021-07-30 16:54:32 來源:億速云 閱讀:173 作者:chen 欄目:開發技術

這篇文章主要介紹“利用Shell腳本實現自動修改IP、主機名等功能”,在日常操作中,相信很多人在利用Shell腳本實現自動修改IP、主機名等功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”利用Shell腳本實現自動修改IP、主機名等功能”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

代碼如下:


#!/bin/sh 
#auto Change ip netmask gateway scripts 
#wugk 2012-12-17 
cat <<EOF
++++++++自動修改ip和主機名等相關信息+++++++++
ETHCONF=/etc/sysconfig/network-scripts/ifcfg-eth0 
HOSTS=/etc/hosts 
NETWORK=/etc/sysconfig/network 
DIR=/data/backup/`date +%Y%m%d` 
NETMASK=255.255.255.0 
+++++++++-------------------------+++++++++++
EOF 
#Define Path  定義變量,可以根據實際情況修改
ETHCONF=/etc/sysconfig/network-scripts/ifcfg-eth0 
HOSTS=/etc/hosts 
NETWORK=/etc/sysconfig/network 
DIR=/data/backup/`date +%Y%m%d` 
NETMASK=255.255.255.0 
echo "================================================"   
echo 
#定義change_ip函數
function Change_ip () 
{  
#判斷備份目錄是否存在,中括號前后都有空格,!嘆號在shell表示相反的意思# 
if 
   [ ! -d $DIR ];then 
   mkdir -p $DIR 
fi 
  echo "Now Change ip address ,Doing Backup Interface eth0" 
  cp $ETHCONF $DIR 
  grep "dhcp"  $ETHCONF 
#如下$?用來判斷上一次操作的狀態,為0,表示上一次操作狀態正確或者成功#   
if 
  [ $? -eq 0 ];then 
#read -p 交互輸入變量IPADDR,注冒號后有空格,sed -i 修改配置文件#
  read -p "Please insert ip Address:" IPADDR 
  sed -i 's/dhcp/static/g' $ETHCONF 
#awk -F. 意思是以.號為分隔域,打印前三列#
  echo -e "IPADDR=$IPADDR\nNETMASK=$NETMASK\nGATEWAY=`echo $IPADDR|awk -F. '{print $1"."$2"."$3}'`.254" >>$ETHCONF 
  echo "This IP address Change success !" 
else 
  echo -n  "This $ETHCONF is static exist ,please ensure Change Yes or NO": 
  read i 
fi 
if   
  [ "$i" == "y" -o "$i" == "yes" ];then 
  read -p "Please insert ip Address:" IPADDR 
count=(`echo $IPADDR|awk -F. '{print $1,$2,$3,$4}'`)  
 #定義數組, ${#count[@]}代表獲取變量值總個數#
A=${#count[@]} 
 #while條件語句判斷,個數是否正確,不正確循環提示輸入,也可以用[0-9]來判斷ip#
while  
  [ "$A" -ne "4" ] 
do 
  read -p "Please re Inster ip Address,example 192.168.0.11 ip": IPADDR 
count=(`echo $IPADDR|awk -F. '{print $1,$2,$3,$4}'`)  
A=${#count[@]} 
done 
 #sed -e 可以連續修改多個參數#
  sed -i -e 's/^IPADDR/#IPADDR/g' -e 's/^NETMASK/#NETMASK/g' -e 's/^GATEWAY/#GATEWAY/g' $ETHCONF
 #echo -e \n為連續追加內容,并自動換行#
  echo -e "IPADDR=$IPADDR\nNETMASK=$NETMASK\nGATEWAY=`echo $IPADDR|awk -F. '{print $1"."$2"."$3}'`.254" >>$ETHCONF 
  echo "This IP address Change success !" 
else 
  echo "This $ETHCONF static exist,please exit" 
  exit $? 
fi 

#定義hosts函數 
############function hosts############## 
function Change_hosts () 

if 
   [ ! -d $DIR ];then 
   mkdir -p $DIR 
fi 
  cp $HOSTS $DIR 
  read -p "Please insert ip address": IPADDR 
host=`echo $IPADDR|sed 's/\./-/g'` 
  cat $HOSTS |grep 127.0.0.1 |grep "$host" 
if 
  [ $? -ne 0 ];then 
  sed -i "s/127.0.0.1/127.0.0.1 $host/g" $HOSTS 
  echo "This hosts change success " 
else 
  echo "This $host IS Exist .........." 
fi 
}
###########fuction network############### 
#定義network函數 
function Change_network ()  

   if 
   [ ! -d $DIR ];then 
   mkdir -p $DIR 
 fi 
  cp $NETWORK $DIR 
  read -p "Please insert ip address": IPADDR 
host=`echo $IPADDR|sed 's/\./-/g'` 
  grep "$host" $NETWORK 
   if 
  [ $? -ne 0 ];then 
  sed -i "s/^HOSTNAME/#HOSTNAME/g" $NETWORK 
  echo "NETWORK=$host" >>$NETWORK 
else 
  echo "This $host IS Exist .........." 
  fi 

#PS3一般為菜單提示信息# 
PS3="Please Select ip or hosts Menu": 
#select為菜單選擇命令,格式為select $var in ..command.. do .... done   
  select i in  "Change_ip" "Change_hosts" "Change_network" 

do 
#case 方式,一般用于多種條件下的判斷 
case $i in  
     Change_ip ) 
     Change_ip 
;; 
     Change_hosts ) 
     Change_hosts 
;; 
     Change_network ) 
     Change_network  
;; 
     *) 
     echo 
     echo "Please Insert $0: Change_ip(1)|Change_hosts(2)|Change_network(3)" 
     echo 
;; 
esac 

done 

到此,關于“利用Shell腳本實現自動修改IP、主機名等功能”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂托克前旗| 五常市| 光山县| 华池县| 荣成市| 高青县| 汾西县| 青海省| 高台县| 新邵县| 乐东| 翁源县| 星座| 许昌县| 日土县| 明溪县| 花垣县| 施秉县| 伊通| 鄂尔多斯市| 简阳市| 晋州市| 林口县| 应城市| 丹棱县| 正安县| 玛纳斯县| 外汇| 甘德县| 阳西县| 东源县| 东阳市| 奉贤区| 盐城市| 沛县| 永平县| 博爱县| 文化| 新建县| 大石桥市| 旬阳县|