shell脚本_自动修改静态IP

#!/bin/bash
#2024年08月31号
#auto change network ip
#fish
############################
ETH_BACK="/tmp/backup/`date +%F`"
ETH_DIR="/etc/sysconfig/network-scripts"
ETH_CFG="ifcfg-ens32"
IP="$1"
#判断在执行脚本的时候是否有参数
if [[ $# -eq 0 ]];then
	echo "\033[32m请输入ip参数\033[0m"
	exit 1
fi
#先备份
#如果目录不存在
if [[ ! -d $ETH_BACK ]];then
	mkdir -p $ETH_BACK
	cp $ETH_DIR/$ETH_CFG $ETH_BACK
fi
#查看是否有dhcp,是否是动态ip
#grep "dhcp" $ETH_DIR/$ETH_CFG

#判断是否是dhcp
if [[ $? -eq 0 ]];then
#修改成静态ip
cat>$ETH_DIR/$ETH_CFG <<EOF
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=e13c9f1c-27aa-4844-b1a2-49711869c180
DEVICE=ens32
ONBOOT=yes
IPADDR=$IP
NETMASK=255.255.255.0
GATEWAY=192.168.31.1
DNS1=8.8.8.8
EOF
fi
cat $ETH_DIR/$ETH_CFG
#ping一下IP地址;-c1 ping一次
ping -c1 ${IP} >>/dev/null
if [[ $? -ne 0 ]];then
#没有ping通就重启服务
	service network restart
else
	echo -e "\033[32m-------------------\033[0m"
	echo -e "\033[32m这个地址已经被使用\033[0m"
#这里需要回滚一下,不然上一句ping命令会一直异常
#	\cp $ETH_BACk/$ETH_CFG $ETH_DIR/$ETH_CFG
	exit 1
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值