Shell脚本学习-循环的控制命令

break continue exit对比:

示例1:break命令跳出整个循环。

[root@abc scripts]# cat break1.sh
#!/bin/bashfor((i=0;i<=5;i++))
doif [ $i -eq 3 ]thenbreakfiecho $i
done
echo "ok"[root@abc scripts]# sh break1.sh
0
1
2
ok

 可以看到i等于3及以后的循环没有被执行,但是循环外的echo执行了。

示例2:continue结束本次循环。

[root@abc scripts]# cat continue1.sh
#!/bin/bashfor((i=0;i<=5;i++))
doif [ $i -eq 3 ]thencontinuefiecho $i
done
echo "ok"[root@abc scripts]# sh continue1.sh
0
1
2
4
5
ok

可以看到只有i等于3这层循环没有被执行,其他循环全部执行了。循环外的echo也执行了。

示例3:exit的例子就不敲了,前面已经接触到很多,表示终止shell程序。

示例4:开发shell脚本实现为服务器临时配置多个IP,并且可以随时撤销配置的所有IP。IP地址的范围为10.0.2.1~10.0.2.16, 其中10.0.2.10 不能配置。

给网卡配置额外的IP,有两种方法:

方法一:

ifconfig eth0:0 10.0.2.10/24 up
ifconfig eth0:0 10.0.2.10/24 down

方法二:

ip addr add 10.0.2.10/24 dev eth0 label eth0:0
ip addr del 10.0.2.10/24 dev eth0 label eth0:0

脚本程序:

[root@abc scripts]# cat continue2.sh
#!/bin/bashfor ip in {1..16}
doif [ $ip -eq 10 ]thencontinuefiip addr add 10.0.2.$ip/24 dev eth0 label eth0:$ip
done

我们试着给网卡来增加一个额外的IP地址:

先查看下网卡的名称:

 是ens33:

一个操作成功,然后再进行循环操作应该就不是问题。

将脚本再修改下:

[root@abc scripts]# cat continue2.sh
#!/bin/bashfor ip in {1..16}
doif [ $ip -eq 10 ]thencontinuefiip addr add 10.0.2.$ip/24 dev ens33 label ens33:$ip
done

再使用ip a命令进行查看:

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:5f:b4:6e brd ff:ff:ff:ff:ff:ffinet 192.168.17.108/24 brd 192.168.17.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet 10.0.2.1/24 scope global ens33:1valid_lft forever preferred_lft foreverinet 10.0.2.2/24 scope global secondary ens33:2valid_lft forever preferred_lft foreverinet 10.0.2.3/24 scope global secondary ens33:3valid_lft forever preferred_lft foreverinet 10.0.2.4/24 scope global secondary ens33:4valid_lft forever preferred_lft foreverinet 10.0.2.5/24 scope global secondary ens33:5valid_lft forever preferred_lft foreverinet 10.0.2.6/24 scope global secondary ens33:6valid_lft forever preferred_lft foreverinet 10.0.2.7/24 scope global secondary ens33:7valid_lft forever preferred_lft foreverinet 10.0.2.8/24 scope global secondary ens33:8valid_lft forever preferred_lft foreverinet 10.0.2.9/24 scope global secondary ens33:9valid_lft forever preferred_lft foreverinet 10.0.2.11/24 scope global secondary ens33:11valid_lft forever preferred_lft foreverinet 10.0.2.12/24 scope global secondary ens33:12valid_lft forever preferred_lft foreverinet 10.0.2.13/24 scope global secondary ens33:13valid_lft forever preferred_lft foreverinet 10.0.2.14/24 scope global secondary ens33:14valid_lft forever preferred_lft foreverinet 10.0.2.15/24 scope global secondary ens33:15valid_lft forever preferred_lft foreverinet 10.0.2.16/24 scope global secondary ens33:16valid_lft forever preferred_lft foreverinet6 fe80::aba8:2213:e8e:55cd/64 scope link tentative noprefixroute dadfailedvalid_lft forever preferred_lft foreverinet6 fe80::e286:21be:3b1b:25a/64 scope link noprefixroutevalid_lft forever preferred_lft forever

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/56997.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[CKA]考试之检查可用节点数量

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Task 检查集群中有多少节点为Ready状态&#xff08;不包括被打上 Taint&#xff1…

【Spring Cloud 】基于微服务架构的智慧工地监管平台源码带APP

智慧工地监管平台是一种利用物联网、云计算、大数据等技术手段实现工地信息化管理的解决方案。它通过数据采集、分析和应用&#xff0c;在实时监控、风险预警、资源调度等方面为工地管理者提供了全方位的支持&#xff0c;提高了工地管理的效率和质量。智慧监管平台还基于“云端…

jmeter 5.1彻底解决中文上传乱码

1.修改源码,然后重新打jar包,就是所有上传文件名重新获取文件名 参考链接:多种Jmeter中文乱码问题处理方法 - 51Testing软件测试网 2.修改Advanced,必须选java

配置Picgo图床之COS、OSS、Github图床

简介 PicGo是一款开源的图片上传和管理工具&#xff0c;它提供了简单易用的界面和丰富的功能&#xff0c;方便用户上传、管理和分享图片。 以下是PicGo的一些主要特点和功能&#xff1a; 图片上传&#xff1a;PicGo支持将本地图片快速上传到云存储服务&#xff0c;如七牛云、…

MyCat配置文件schema.xml讲解

1.MyCat配置 1.1 schema标签 如果checkSQLschema配置的为false&#xff0c;那么执行DB01.TB_ORDER时就会报错&#xff0c;必须用use切换逻辑库以后才能进行查询。 sqlMaxLimit如果未指定limit进行查询&#xff0c;列表查询模式默认为100,最多只查询100条。因为用mycat后默认数…

[回馈]ASP.NET Core MVC开发实战之商城系统(五)

经过一段时间的准备&#xff0c;新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始&#xff0c;在之前的文章中&#xff0c;讲解了商城系统的整体功能设计&#xff0c;页面布局设计&#xff0c;环境搭建&#xff0c;系统配置&#xff0c;及首页【商品类型&#xff0c;ba…

·[K8S:使用calico网络插件]:解决集群节点NotReady问题

文章目录 一&#xff1a;安装calico&#xff1a;1.1&#xff1a;weget安装Colico网络通信插件&#xff1a;1.2&#xff1a;修改calico.yaml网卡相关配置&#xff1a;1.2.1&#xff1a;查看本机ip 网卡相关信息&#xff1a;1.2.2&#xff1a;修改calico.yaml网卡interface相关信…

windows环境下编译OpenJDK12

环境&#xff1a;Windows11 目录&#xff1a; 1、下载OpenJDK12源码 下载地址&#xff1a; https://hg.openjdk.org/jdk/jdk12 点击zip下载到本地。 解压到本地。 Tip&#xff1a;注意本地路径中最好不要包含中文或空格。 2、阅读一遍doc/building.html 如果只是想构建J…

【C++】做一个飞机空战小游戏(六)——给两架飞机设置不同颜色(cout输出彩色字符、结构体使用技巧)

[导读]本系列博文内容链接如下&#xff1a; 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动【C】做一个飞机空战小游戏(三)——getch()函数控制任意造型飞机图标移动 【C】做一个飞…

【C++】STL map和set用法基本介绍

map、set用法简介 前言正式开始set构造erasefindswapcountlower_bound 和 upper_boundlower_boundupper_bound equal_rangepair multiusetfinderasecount map构造insert[ ][ ]底层原理 multimap两道题目前K个高频单词两个数组的交集 前言 首先&#xff0c;使用map和set最少要了…

工具推荐之不出网环境下上线CS

前言 在实战攻防演练中&#xff0c;我们经常会遇到目标不出网的情况&#xff0c;即便获取了目标权限也不方便在目标网络进行下一步横向移动。本期我们将会推荐两个常用的代理工具&#xff0c;使我们能在不出网的环境下让目标上线到CS&#xff0c;方便后渗透的工作。 工具1&…

【Linux】结合Python 简易实现监控公司网站,邮件发送异常

目录 背景 实现思路 邮件4小时内只会发送一次&#xff0c;如果执行了发送邮件的脚本&#xff0c;就使用sed命令将对应的调用代码置为无效 请求脚本 Python邮件发送脚本 定时任务设置 恢复邮件发送能力脚本 资料获取方法 背景 由于一些原因&#xff0c;博主负责测试的网…