目录

理解脚本的作用

脚本自动修改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=

这句话的意思是将hello赋值给A这个变量。

我们可以使用

echo $A 或者 echo "$A"

来查看变量的值

我们可以通过这种方式实现将需要修改的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

修改成功

欢迎关注博主公众号:旁骛OtherThing,不定期更新技术干货。

web安全day36:Linux脚本编写自动修改IP地址相关推荐

  1. 装机linux系统后,修改ip地址

    装机linux系统后,修改ip地址 装了一台centos的电脑,本地设置绑定ip地址,使用root账户登录,进入系统. 进入 /etc/sysconfig/network-scripts 目录,修改网 ...

  2. centOS7 Minima无法上网解决方案(Linux设置开机自动获取ip地址)

    本例中以CentOS 7举例说明如何设置Linux开机自动获取IP地址. 1.输入"ip addr"并按回车键确定,发现无法获取IP(CentOS 7默认没有ifconfig命令) ...

  3. 嵌入式linux通过DHCP自动获取IP地址实现

    http://blog.chinaunix.net/uid-17188120-id-2820863.html 前提:系统已经实现DNS(即使用ping www.baidu.com测试时能ping通). ...

  4. linux ip命令dhcp,嵌入式linux通过DHCP自动获取IP地址实现获取

    前提:系统已经实现DNS(即使用ping www.baidu.com测试时能ping通). 1.在内核中添加以下选项: Networking  ---> [*] Networking suppo ...

  5. 1.0 Linux 网络相关概念和修改IP地址的方法

    网卡的命名规则 CENTOS6的网卡命名方式:它会根据情况有所改变而非唯一且固定,在CENTOS6之前,网络接口使用连续号码命名: eth0. eth1等,当增加或删除网卡时,名称可能会发生变化 CE ...

  6. linux设置成自动获取ip地址吗,centos怎么设置自动获取ip地址

    在适合Cable ip路由器环境下,centos可以设置成自动获取ip地址方式,下面是学习啦小编给大家整理的一些有关centos设置自动获取ip地址的方法,希望对大家有帮助! centos设置自动获取 ...

  7. linux脚本怎么把文件地址变成动态地址,Linux脚本程序自动修改网卡配置文件中的MAC地址...

    在玩Linux虚拟机的时候,一个安装好linux系统的virtual HDD会用于创建多个虚拟机,这样就不需要在创建每个虚拟机都安装一遍系统了.virtual HDD加载到虚拟机后,新的虚拟机的MAC ...

  8. linux脚本自动修改网卡,Linux脚本程序自动修改网卡配置文件中的MAC地址

    在玩Linux虚拟机的时候,一个安装好linux系统的virtual HDD会用于创建多个虚拟机,这样就不需要在创建每个虚拟机都安装一遍系统了.virtual HDD加载到虚拟机后,新的虚拟机的MAC ...

  9. Linux虚拟机设置自动获取IP地址

    前言 如下图所示: 对于刚刚创建的Linux虚拟机是没有ip地址的,下面我们可以修改配置使其自动获取IP 设置自动获取IP 1.这里看上图我的网卡是ens33,所以之后应找到对应的配置文件 #执行命令 ...

  10. linux改ip之后恢复出厂设置密码,Linux忘记密码及修改IP地址解决方案

    LINUX系统重设root密码的方法: 今天下午新来了4台探针设备,但不知道这几台探针设备登录的密码.这几台设备是用redhat系统装的,跟其他linux操作系统初始化密码的方法不一样,后来魏建文在百 ...

最新文章

  1. 【二分图最大匹配】【HDU2063】过山车
  2. 动态规划 dp05 插入乘号问题 c代码
  3. 从sqlserver中数据写入mysql_[SQL Server]SQL Server数据库中如何返回INSERT INTO语句插入/写入数据后的记录值(比如ID等)?...
  4. mysql服务器权限说明,MySQL用户权限管理详解
  5. 数据库-优化-MYSQL数据库设计原则
  6. layui结合springboot上传图片
  7. Spring webflow:上传多个文件
  8. AI算法连载13:统计之数据预处理特征工程
  9. SQLExecption:Operation not allowed after ResultSet closed解决办法
  10. 做了这么多项目才知道「模态弹窗」是这么用的
  11. 目前机器学习最热门的领域有哪些
  12. elasticsearch备份与恢复4_使用ES-Hadoop将ES中的索引数据写入HDFS中
  13. Unity 中 Png转Texture2D再转Sprite
  14. 20190218每日一句
  15. 【Opencv】基于色差的简单目标提取
  16. 汇编语言学习笔记(【汇编语言】小甲鱼零基础汇编)
  17. 2020年下系统集成项目管理工程师真题基础知识+解析1/3
  18. 抓包获取百度音乐API
  19. eric python mysql_joson 、python和mysql的使用
  20. Java接口练习(组装电脑)

热门文章

  1. 大数定律和中心极限定理的区别和联系
  2. nlp基础—9.条件随机场模型(CRF算法)
  3. 数据预处理—8.属性归约之主成分分析(理论及python实现)
  4. 深度学习12-TFRecord详解
  5. python基础6-控制语句
  6. Windows 8,为应用和触摸重塑的Windows
  7. 云计算:21世纪的商业平台
  8. 8.16 记忆增强神经网络:MANN、神经网络图灵机
  9. 详解tf.Session()和tf.InteractiveSession()的区别
  10. python:python对象属性及属性函数property()