# Author:丁丁歷險(Jacob) bash
# 該腳本使用 guestmount 工具,Centos7.2 中安裝 libguestfs-tools-c 能夠得到 guestmount 工具 dom
# 腳本在不登錄虛擬機的狀況下,修改虛擬機的 IP 地址信息 ide
# 在某些環境下,虛擬機沒有 IP 或 IP 地址與真實主機不在一個網段 工具
# 真實主機在沒有 virt-mange 圖形的狀況下,遠程鏈接虛擬機很麻煩 spa
# 該腳本能夠解決相似的問題ip
#!/bin/bash #Author:丁丁歷險(Jacob) #該腳本使用guestmount工具,Centos7.2中安裝libguestfs-tools-c能夠得到guestmount工具 #腳本在不登錄虛擬機的狀況下,修改虛擬機的IP地址信息 #在某些環境下,虛擬機沒有IP或IP地址與真實主機不在一個網段 #真實主機在沒有virt-mange圖形的狀況下,遠程鏈接虛擬機很麻煩 #該腳本能夠解決相似的問題 read -p "請輸入虛擬機名稱:" name if virsh domstate $name|grep -q running ;then echo "修改虛擬機網卡數據,須要關閉虛擬機" virsh destroy $name fi mountpoint="/media/virtp_w_picpath" [ ! -d $mountpoint]&& mkdir $mountpoint echo "請稍後..." if mount | grep -q"$mountpoint" ;then umount $mountpoint fi guestmount -d $name -i $mountpoint read -p "請輸入須要修改的網卡名稱:" dev read -p "請輸入IP地址:" addr #判斷本來網卡配置文件中是否有IP地址,有,就修改該IP,沒有,就添加一個新的IP地址 if grep -q"IPADDR" $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev;then sed -i "/IPADDR/s/=.*/=$addr/" $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev else echo "IPADDR=$addr" >> $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev fi #若是網卡配置文件中有客戶配置的IP地址,則腳本提示修改IP完成 awk -F= -v x=$addr '$2==x{print "完成..."}' $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev