直接上代码

根据实际情况可修改默认配置文件名称,测试时建议注释掉重启步骤,测试无误后再放开

#!/bin/bash
# 定义的一些常量
ETHPATH='/etc/sysconfig/network-scripts/'
DEFAULTFILE='ifcfg-ens33'
# 定义方法
function sedTxt() {local old=$1local old_=^$1.*local new=$2local path=$3grep -q "${old}" $path && sed -i "s/${old_}/${new}/g" $path || echo "${new}" >> $path
}function checkExit() {local input=$1if [ "$input" == "exit" ] || [ $"$input" == "EXIT" ] || [ "$input" == "quit" ] || [ "$input" == "QUIT" ]; thenecho "您放弃了修改,再见"exit 0fi
}function isValidIp() {local ip=$1local ret=1if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; thenip=(${ip//\./ }) # 按.分割,转成数组,方便下面的判断[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]ret=$?fi  return $ret
}# 打印配置目录
ls --color=auto ${ETHPATH}read -p "请输入需要修改的配置文件(默认${DEFAULTFILE}):" confFilecheckExit $confFileif [ "$confFile" == "" ]
then confFile=$DEFAULTFILE
fiETHFILE=$ETHPATH$confFileif [ ! -f "$ETHFILE" ]; then  echo "${ETHFILE}不存在!"exit 0
fi  echo "${ETHFILE}的内容如下:"
cat ${ETHFILE}while :
do#修改IP地址read -p "输入IP地址:" IPcheckExit $IPif [ ! $IP ]; thenecho "输入地址为空, 请重新输入!"fiif isValidIp $IP; thenGATEWAY=${IP%.*}.1echo "IP地址修改预览如下:"echo "ONBOOT=yes"echo "BOOTPROTO=static"echo "NETMASK=255.255.255.0"echo "IPADDR=${IP}"echo "GATEWAY=${GATEWAY}"echo "DNS1=114.114.114.114"read -p "是否写入${conf}文件(y/n) ENTER 确认:" writecheckExit $writeif [ "$write" == "" ] || [ "$write" == "Y" ] || [ "$write" == "y" ]; thensedTxt "ONBOOT" "ONBOOT=yes" ${ETHFILE}sedTxt "BOOTPROTO" "BOOTPROTO=static" ${ETHFILE}sedTxt "NETMASK" "NETMASK=255.255.255.0" ${ETHFILE}sedTxt "IPADDR" "IPADDR=${IP}" ${ETHFILE}sedTxt "GATEWAY" "GATEWAY=${GATEWAY}" ${ETHFILE}sedTxt "DNS1" "DNS1=114.114.114.114" ${ETHFILE}# 重启网卡echo "开始重启网卡."service network restartecho "网卡重启成功."elseecho "您放弃了修改,再见"fibreakelseecho "$IP 不是有效ip地址, 请重试."fi
done

Shell修改IP地址相关推荐

  1. Ubuntu修改IP地址和MAC地址

    Ubuntu修改IP地址和MAC地址 修改IP和MAC地址以及网关的方法:>  > >  >  sudo ifconfig eth0 192.168.1.2 netmask 2 ...

  2. Linux 修改 IP地址 和 网关

    修改IP地址和网关是很常见的操作,在做相关实验的时候,如果没有设置好,会带来很多不必要的麻烦.. 1. 修改IP地址 vi /etc/sysconfig/network-scripts/ifcfg-e ...

  3. python与shell校验IP地址合法性

    python校验IP地址合法性 执行效果: python代码: [root@yang python]# vi check_ip.py #!/usr/bin/python import os,sys d ...

  4. QNX设置开机启动命令来修改IP地址

    2019独角兽企业重金招聘Python工程师标准>>> 在控制台使用命令行修改QNX系统IP地址: # ifconfig en0 192.168.0.156 查询IP地址: # if ...

  5. redhat7.4启动telnet和SSH服务,修改IP地址

    今天去机房,开通服务器的telnet服务. 首先查了下本地有没有telnet服务. rpm –qa |grep telnet  没有输出,说明没有telnet服务,需要装telnet.telnet-s ...

  6. 无盘服务器怎么修改ip,怎么进入无盘服务器修改IP地址呢

    怎么进入无盘服务器修改IP地址呢 内容精选 换一换 在弹性云服务器上安装完成后输入公网IP,无法连接目的虚拟机,端口无法访问工具.源端网络未连通目的端.目的端安全组未开放8084端口.目的端网络ACL ...

  7. linux修改ip地址方法如何保存_修改电脑IP地址方法

    相信大家的日常的生活中都会接触电脑,电脑给我们的生活带来了许多的便利,同时也开阔了我们的视野,有时我们会需要更改IP地址,比如电脑受限制或者连接网络不成功的情况下,可能就需要更改一下我们的电脑IP地址 ...

  8. java 修改ip_如何用脚本快速修改IP地址(Netsh)

    评论 # re: 如何用脚本快速修改IP地址(Netsh) 2006-03-30 15:36 david.turing (2006-03-30 15:12:48) 胡子鱼-SD(18684412) 另 ...

  9. CentOS 修改IP地址, DNS, 网关

    一.CentOS 修改IP地址 修改对应网卡的IP地址的配置文件 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改以下内容 DEVICE=eth0 # ...

最新文章

  1. 【从零开始的ROS四轴机械臂控制】(五)- 构建运动控制服务
  2. 卷积神经网络--CNN
  3. 机器学习算法优缺点对比及选择(汇总篇)
  4. 通讯录(容量不可变)
  5. python官网怎么改中文-如何配置pycharm为中文?
  6. 关于python语言数值操作符、以下选项错误的是 答案是_关于Python注释,以下选项中描述错误的是...
  7. ubuntu下载gmt_科学网—Linux/Ubuntu安装地学制图软件GMT6.0.0 - 杨家乐的博文
  8. linux卸载tar安装的erlang包,linux - 从tar安装erlang导致错误,想知道如何指定文件夹 - 堆栈内存溢出...
  9. 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程)
  10. Ubuntu下Jlink驱动安装使用
  11. YUV444、YUV422、YUV420占用字节数
  12. 计算机主机接口,计算机主机背面有哪些接口
  13. 内网邮箱pop服务器,如何在POP3邮件服务器中创建用户邮箱
  14. 碧彩电子秤工程模式_碧彩秤操作手册.doc
  15. 单片机三角波c语言程序,三角波单独发生 单片机程序
  16. nmn成分是什么,吃nmn对身体有哪些好处,掌握知识点
  17. 11 系统建模语言SysML实例——蒸馏器
  18. 用html编写诗句春晓,春晓-古诗
  19. Linux系统目录树结构以及解释
  20. 2022生物发酵展(济南)紧扣行业脉搏,把握市场动向,突破变局

热门文章

  1. 石墨文档代码学习笔记分享
  2. 1788 数量的类模板
  3. 戴尔计算机的机械硬盘容量,新款戴尔g3加装机械硬盘教程终极版
  4. 深入理解L0,L1和L2正则化
  5. 【并发编程】map 基本用法和常见错误以及如何实现线程安全的map类型
  6. Python 中的正则表达式全部用法速查
  7. 抖音如何能快速涨粉?
  8. 计算机反求设计的一般步骤,逆向设计的概念和基本步骤
  9. 定时任务Alarm的深入理解
  10. [SHOI2008] 小约翰的游戏