时人不识凌云木,直待凌云始道高。这篇文章主要讲述#yyds干货盘点# web安全day36:Linux脚本编写自动修改IP地址相关的知识,希望能为你提供帮助。
linux的脚本类似于windows的批处理。
理解脚本的作用我们的需求是:上午9点设定eth0网卡ip为192.168.1.100/24 网关为192.168.1.254.下午2点重新设eth0网卡ip为172.16.1.100/24,网关为172.16.1.254
如果我们每天都这么操作,耗时耗力。我们希望用一个自动化的方式来自动修改。
我们可以使用
echo "" > /etc/sysconfig/network-scripts/ifcfg-ens38
清空网卡的信息。
然后使用
echo "DEVICE=ens38"> > ifcfg-ens38
echo "TYPE=Ethernet"> > ifcfg-ens38
echo "ONBOOT=yes"> > ifcfg-ens38
echo "BOOTPROTO=static"> > ifcfg-ens38
echo "IPADDR=192.168.1.100"> > ifcfg-ens38
echo "NETMASK=255.255.255.0"> > ifcfg-ens38
echo "GATEWAY=192.168.1.254"> > ifcfg-ens38
逐条将网卡信息写入进去。
重启网卡,使其生效。
ifdown ens-38
ifup ens-38
这个步骤是比较麻烦的,我们希望将其写在一个文件中,通过运行该文件来更改网络信息。我们写的这个文件就是脚本。
这也就是脚本的作用,即简化人工操作流程。
脚本自动修改ip我们新建一个fixip.sh的文件
在其中写入以下内容。
给fixip.sh文件可执行权限
chmod +x fixip.sh
使用
./fixip.sh
命令执行这个文件
检查是否执行成功
如果需求变更为随机指定不同的ip进行修改
所以我们希望这个脚本是一个交互式的脚本,即我们可手动输入ip地址,网关和子网掩码。
这就涉及到变量赋值。
我们简单理解以下变量赋值的概念
变量赋值
A=
我们可以使用
echo $A 或者 echo "$A"
来查看变量的值
【#yyds干货盘点# web安全day36(Linux脚本编写自动修改IP地址)】
我们可以通过这种方式实现将需要修改的ip地址存放在一个变量中。
read -p "please input ipaddr:" IP
我们将之前的脚本进行修改
read -p "please input ipaddr:" IP
read -p "please input netmask:" MASK
read -p "please input gateway:" GATEWAY
cd /etc/sysconfig/network-scripts/
echo "DEVICE=ens38"> > ifcfg-ens38
echo "TYPE=Ethernet"> > ifcfg-ens38
echo "ONBOOT=yes"> > ifcfg-ens38
echo "BOOTPROTO=static"> > ifcfg-ens38
echo "IPADDR=$IP"> > ifcfg-ens38
echo "NETMASK=$MASK"> > ifcfg-ens38
echo "GATEWAY=$GATEWAY"> > ifcfg-ens38
ifdown ens38
ifup ens38
修改成功
推荐阅读
- #yyds干货盘点# web安全day34(一步一步学习Linux防火墙)
- web安全day37(Linux脚本判断和循环,编写脚本实现内网主机存活批量检测)
- 原生JavaScript灵魂拷问,你能全部答对吗(#yyds干货盘点#)
- #yyds干货盘点#7个场景让你深入理解min/max - width/height
- 一文解析Apache Avro数据
- #星光计划2.0# openHarmony轻松连接华为云物联网平台
- 一文带你了解 TreeMap ,LinkedHashMap 的主要特点#yyds干货盘点#
- 操作系统实验报告一
- Java语言程序设计 上机实验6掌握Java的图形用户界面编程,掌握布局管理器和事件的响应方法