shell linux初始化网络脚本 发表于 2022-01-10 浏览量 545 没有评论 # 需求 一键修改当前网络,并检测修改后的IP是否有人使用。 ``` #!/bin/bash echo -e "\033[32m初始化网络。。\n\033[0m" sleep 2 netdev=`cat /proc/net/dev |awk 'NR==3{print $1}'|awk -F ':' '{print $1}'` ipaddr=`ifconfig $netdev | grep -w inet | awk '{print $2}'` echo -e "\033[32m当前IP地址是:$ipaddr \n\033[0m" echo -e "\033[32m正在备份网卡配置文件。。。\n\033[0m" cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak #定义IP地址 while true do read -p '请输入IP地址,172.16.7.x,x替换成你想要更改的IP地址:' ip NEWIP=172.16.7.$ip echo -e "\033[32m您的IP地址更改为$NEWIP\n\033[0m" echo -e "\033[33m正在测试$NEWIP 是否被占用,请稍等。。。\n\033[0m" sleep 2 ping $NEWIP -c2 &>/dev/null if [ $? -eq 0 ];then echo -e "\033[31m$NEWIP 已被使用,请更换!!!\n\033[0m" else echo -e "\033[35m未发现IP被占用\n\033[0m" break fi done while true do echo -e "\033[31m配置网络会重启服务,请谨慎操作!\n\033[0m" read -r -p "您确定要修改网络吗?,重启后需要手动连接到$NEWIP [Y/n]" input case $input in [yY][eE][sS]|[yY]) echo -e "\033[32m正在配置网络,三秒内可按Ctrl+C终止!\n\033[0m" sleep 3 cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <