linux ip地址更换自动脚本

最近linux虚拟机很烦人,由于公司和家里的网关不一样,我的桥接方式不得不来回换ip地址,了解linux的人可能知道,配置文件很深:/etc/sysconfig/network-scripts/ifcfg-eth0,至少对我来说足够深了,所以写了个bash脚本,以下为脚本内容:

    

#!/bin/bash
#注意,不建议在/etc/sysconfig/network-scripts/ifcfg-eth0 目录下执行此脚本
#执行此脚本需要两个参数 第一个是你要修改成的ip地址 第二个是你要修改成的ip的网关
cat /etc/sysconfig/network-scripts/ifcfg-eth0 > tmp.txt
name=(`sed  -e "s/\(.*\)IPADDR.*[^\t]/\1IPADDR=$1/g" -e "s/\(.*\)GATEWAY.*[^\t]/\1GATEWAY=$2/g"   tmp.txt`)
echo ${name[@]} > ifcfg-eth0
copy_ip(){
    expect -c"set timeout -1;
       spawn cp ifcfg-eth0 /etc/sysconfig/network-scripts/;
      # spawn cp ifcfg-eth0 /;
       expect {
	*(yes/no)* {send -- yes\r;exp_continue}	
	eof {exit 0;}
        }"

} 
copy_ip
rm -rf ifcfg-eth0
rm -rf tmp.txt
这里我主要利用sed进行问题搜索和替换,然后把内容输入到一个数组中,把数组写入新的文件,然后赋值到目标目录下替换原文件。下面的expect是为了自动输入yes的命令,不用用户人为确定替换。希望对大家有用。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值