在工作中我需要修改兩個文件:
創(chuàng)新互聯(lián)建站成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作網(wǎng)站開發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:028-86922220
文件一:/etc/vmware/networking
- VERSION=1,0
- answer VNET_1_DHCP yes
- answer VNET_1_DHCP_CFG_HASH 50CE8453B1072EA401BFFA704E6C01F7AE0BA67C
- answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
- answer VNET_1_HOSTONLY_SUBNET 172.16.77.0
- answer VNET_1_VIRTUAL_ADAPTER yes
- answer VNET_8_DHCP yes
- answer VNET_8_DHCP_CFG_HASH 1DA1A936DCB3AA3313CF293A9C96D25B76AB48A2
- answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
- answer VNET_8_HOSTONLY_SUBNET 192.168.43.0
- answer VNET_8_NAT yes
- answer VNET_8_VIRTUAL_ADAPTER yes
文件二:/etc/vmware/vmnet8/dhcpd/dhcpd.conf
- # Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet8.
- #
- # This file was automatically generated by the VMware configuration program.
- # See Instructions below if you want to modify it.
- #
- # We set domain-name-servers to make some DHCP clients happy
- # (dhclient as configured in SuSE, TurboLinux, etc.).
- # We also supply a domain name to make pump (Red Hat 6.x) happy.
- #
- ###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
- # Modification Instructions: This section of the configuration file contains
- # information generated by the configuration program. Do not modify this
- # section.
- # You are free to modify everything else. Also, this section must start
- # on a new line
- # This file will get backed up with a different name in the same directory
- # if this section is edited and you try to configure DHCP again.
- # Written at: 03/22/2013 15:49:55
- allow unknown-clients;
- default-lease-time 1800; # default is 30 minutes
- max-lease-time 7200; # default is 2 hours
- subnet 192.168.43.0 netmask 255.255.255.0 {
- range 192.168.43.128 192.168.43.254;
- option broadcast-address 192.168.43.255;
- option domain-name-servers 192.168.43.2;
- option domain-name localdomain;
- default-lease-time 1800; # default is 30 minutes
- max-lease-time 7200; # default is 2 hours
- option netbios-name-servers 192.168.43.2;
- option routers 192.168.43.2;
- }
- host vmnet8 {
- hardware ethernet 00:50:56:C0:00:08;
- fixed-address 192.168.43.1;
- option domain-name-servers 0.0.0.0;
- option domain-name "";
- option routers 0.0.0.0;
- }
- ####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
需求:
將兩個文件中的"192.168.43"修改為"202.16.22",不過,有時"192.168.43"會表現(xiàn)為其它的IP值,而要修改的目標(biāo)字串"202.16.22"也可能會隨著環(huán)境的改變另行設(shè)置.
基于此需求,本人編寫了如下測試腳本:
針對文件一:
- #!/bin/bash
- # $vmnat_subnet_old變量表示vmnat8原有的子網(wǎng)配置,注意只截取前三段
- vmnat_subnet_old=`grep "VNET_8_HOSTONLY_SUBNET" /etc/vmware/networking | sed 's/..$//' | cut -d' ' -f 3`
- # $vmnat_subnet_new變量表示vmnat8子網(wǎng)的目標(biāo)配置,注意只截取前三段
- vmnat_subnet_new='192.168.40'
- cp /etc/vmware/networking /etc/vmware/networking_bak0
- sed -i '/VNET_8_HOSTONLY_SUBNET/s/'"$vmnat_subnet_old"'/'"$vmnat_subnet_new"'/' /etc/vmware/networking
- grep "$vmnat_subnet_new" /etc/vmware/networking
- cp /etc/vmware/networking_bak0 /etc/vmware/networking
針對文件二:
- #!/bin/bash
- # $vmnat_subnet_new變量表示vmnat8子網(wǎng)的目標(biāo)配置,注意只截取前三段
- vmnat_subnet_new='192.168.40'
- # $vmnat_subnet_old變量表示vmnat8原有的子網(wǎng)配置,注意只截取前三段
- vmnat_subnet_old=`grep "VNET_8_HOSTONLY_SUBNET" /etc/vmware/networking | sed 's/..$//' | cut -d' ' -f 3`
- cat /etc/vmware/vmnet8/dhcpd/dhcpd.conf
- cp /etc/vmware/vmnet8/dhcpd/dhcpd.conf /etc/vmware/vmnet8/dhcpd/dhcpd.conf_bak0
- sed -i '/'"$vmnat_subnet_old"'/s//'"$vmnat_subnet_new"'/g' /etc/vmware/vmnet8/dhcpd/dhcpd.conf
- grep "$vmnat_subnet_new" /etc/vmware/vmnet8/dhcpd/dhcpd.conf
- cp /etc/vmware/vmnet8/dhcpd/dhcpd.conf_bak0 /etc/vmware/vmnet8/dhcpd/dhcpd.conf
優(yōu)點(diǎn):
可以不用事先知道要替換的字符是(本例中:192.168.43)什么,只需要知道自己想替換為(本例中:202.16.22)什么就可以了。
呵呵,我的工作桌面截圖。