shell基础之更改IP
要求:
显示所有网卡及其对应的IP地址,并可更改IP相关内容使其生效。
1 #!/bin/bash 2 #获取本机网卡和IP 3 while : 4 do 5 network=$(ifconfig |grep BROAD |awk -F: '{print $1}') 6 echo -e "本机网卡\tIP" 7 for single_network in $(echo $network);do 8 all_ip=$(ifconfig $single_network |grep -w "inet" |awk '{print $2}') 9 echo -e "$single_network\t\t$all_ip" 10 done 11 #获取要更改的网卡名称 12 while : 13 do 14 read -p "请输入要更改的网卡名称(默认退出):" new_network 15 if [ -z $new_network ];then 16 echo "退出脚本" 17 exit 18 else 19 judge_new_network=`echo "$network" |grep -w "$new_network"` 20 if [ -z "$judge_new_network" ];then 21 echo "请输入正确的网卡名!" 22 else 23 break 24 fi 25 fi 26 done 27 #要更改的IP,掩码,网关 28 IPZZ="^([0-9]\.|[1-9][0-9]\.|1[0-9][0-9]\.|2[0-4][0-9]\.|25[0-5]\.){3}([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])$" 29 netmask_ZZ="^([0-9]\.|[1-9][0-9]\.|1[0-9][0-9]\.|2[0-4][0-9]\.|25[0-5]\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$" 30 #输入新的IP地址 31 while : 32 do 33 read -p "请输入新的IP地址:" new_ip 34 if [ -z $new_ip ];then 35 echo "IP地址不能为空,请重新输入!" 36 elif [[ $new_ip =~ $IPZZ ]];then 37 break 38 else 39 echo "请输入正确的IP地址!" 40 fi 41 done 42 #输入掩码 43 while : 44 do 45 read -p "请输入新的掩码(默认为255.255.255.0):" new_netmask 46 if [ -z $new_netmask ];then 47 new_netmask=255.255.255.0 48 break 49 elif [[ $new_netmask =~ $netmask_ZZ ]];then 50 break 51 else 52 echo "请输入正确的掩码!" 53 fi 54 done 55 #输入网关 56 while : 57 do 58 read -p "请输入新的网关:" new_gateway 59 if [ -z $new_gateway ];then 60 echo "网关不能为空,请重新输入!" 61 elif [[ $new_gateway =~ $IPZZ ]];then 62 break 63 else 64 echo "请输入正确的网关!" 65 fi 66 done 67 #写入配置文件 68 echo "NAME=$new_network 69 DEVICE=$new_network 70 ONBOOT=yes 71 BOOTPROTO=none 72 IPADDR=$new_ip 73 NETMASK=$new_netmask 74 GATEWAY=$new_gateway 75 DNS1=114.114.114.114 76 DNS2=8.8.8.8" > /etc/sysconfig/network-scripts/ifcfg-$new_network 77 #重启服务 78 systemctl restart network 79 done
转载于:https://www.cnblogs.com/renyz/p/11305329.html
shell基础之更改IP相关推荐
- shell基础二:查找技巧,find及xargs的使用
2019独角兽企业重金招聘Python工程师标准>>> 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的 (在有些操作系统中只允许- e ...
- Hadoop_Day01Linux环境搭建、shell基础增强、ZK环境搭建
##1.大数据课程导论 ###1.1.大数据概念 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程 ...
- day23:shell基础介绍 alias及重定向
2019独角兽企业重金招聘Python工程师标准>>> 1.shell基础介绍: shell是一个命令解释器,用于用户与机器的交互: 也支持特定的语法(逻辑判断,循环): 每个用户都 ...
- linux shell 基础 使用日志与心得
linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现 #!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释 ...
- Ambari集群移动现有复制到另外地方或更改ip地址,导致各项服务组件上为黄色问号代表心跳丢失的解决方案(图文详解)(博主推荐)...
前言 最近,是在做集群搬移工作,大家肯定会遇到如下的场景. (1) 比如,你新购买的电脑,初步者学习使用Ambari集群.从旧电脑复制到新电脑这边来. (2) 比如,你公司Ambari集群的ip,因业 ...
- cmder上传文件到服务器,wget 结合everything上传文件到服务器端(以及更改ip地址)...
上传服务器的方式有很多,平时常用的是ssh,scp等一些命令操作,但是当文件足够大的时候,用这些命令就显得力不从心了. 下面推荐一种操作系统是win10环境下上传批量文件到服务端的方法. 需要用到的软 ...
- linux+管道+分段,Linux中shell基础、重定向、管道符、环境变量
原标题:Linux中shell基础.重定向.管道符.环境变量 1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核 ...
- Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用...
一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境 2> 练习命令历史.命令别名 ...
- Linux 基础命令:IP 路由操作 -ip命令
转自Linux爱好者:Linux 基础命令:IP 路由操作 Table of Contents ip 1.语法 2.选项列表 3.ip link---网络设备配置 4.ip address---协议地 ...
- 计算机网络基础知识--TCP/IP协议、IP分组、TCP传输
转 计算机网络基础知识--TCP/IP协议.IP分组.TCP传输 2017年12月08日 08:35:09 孔维昊 阅读数 1820 查看全文 http://www.taodudu.cc/news/s ...
最新文章
- C#操作WMI文章汇总
- React Native知识
- windows下网络丢包模拟软件(Network Emulator for Windows Toolkit)
- linux下增加磁盘改变指定文件路径分区挂载点和迁移数据
- 数据与智能武装营销飞轮,网易探索C2B时代营销新玩法
- win10查看pcie设备_壹拓网科技解密WIN10系统使用向日葵开机棒远程开机需要设置几个地方...
- 【记录贴】cs231n课程作业一遇到问题总结
- dll放在unity哪个文件夹下_unity调用C#dll文件
- STC学习:振动传感器
- c语言实验报告总结通用版,大学生实训心得体会(通用11篇)
- DAMS峰会丨从数仓到数据中台,从数据资源到资产,京东、携程、快手等是怎么建设和演进的?...
- java jsp试卷_JSP试题-带答案
- AD13转oRCAD原理图的操作方式
- Texlive安装宏包
- DOTA中所有被动技能
- thinkphp使用编辑器kindeditor
- Unity----VR摄像机(浅谈)
- 开发一个基于Dalvik字节码的相似性检测引擎,比较同一款Android应用程序的不同版本之间的代码差异(二)
- 关于审查元素与查看网页源码的区别
- 机器视觉中的光源选型