shell编程之循环语句

目录

一、概念

1、循环和遍历:

2、循环的作用:

二、for循环:

1、格式:

实验1、批量添加用户:

实验二、ping ip地址

2、for循环的类c语言格式:

3、双层循环和循环控制语句:

4、循环实验:

1、99乘法表:

5、循环控制值语句:

1、continue:

2、break:

3、exit:


一、概念
1、循环和遍历:

循环:重复执行一段代码的结构。只要条件满足,多次执行相同的代码。

由循环体、循环条件组成

循环条件满足,循环体将一直执行,直到条件不满足为止

遍历:对数据结构中的每个元素进行访问的过程,对循环体中定义的对象(变量)进行操作或者输出

循环是一种控制流程的结构

遍历只是对数据的操作

2、循环的作用:

1、涉及到重复性质的操作,可以用循环来代替

2、提高代码的重复利用率

3、提高程序的效率

二、for循环:

用于已知循环次数的场景

.

1、格式:

for 变量名 in 取值范围

do

命令序列

done

基础格式:

示例:

实验1、批量添加用户:

实验二、ping ip地址

2、for循环的类c语言格式:

for ((表达式1;表达式1;表达式3))

表达式1:定义变量,给他一个起始值

表达式2:循环范围

表达式3:定义如何循环

for((i=0;i<10;i++))

类c语言格式:

i从0开始,依次加1,最大是9

调试:

行首:set -x   开启调试模式

行尾:set +x   关闭调试模式

在外面bash -x 是一样的

3、双层循环和循环控制语句:

echo -n 表示不换行输出(结果在一行输出)

echo -e 可以输出转义字符

转义字符:

\b:退格键 backspace

\n:另起一行输出,换行

\t:相当于输出了一个TAB键

echo -ne 不换行输出,输出转义符

4、循环实验:
1、99乘法表:

就能理解成:

i是控制列数1-9  9列行

而j是控制一行有几个变量的,也就是几列

外循环打印行,内循环打印列

但是99乘法表,不能是9*9的,出来的结果应该是三角形,也就是9行,但是每一行的变量不一行,从1开始递增的行变量

理解了排列之后呢,咱就可以开始复制计算了:

上图倒数第二行的echo 什么都不加代表 换一行

外循环控制的是行,内循环控制列

echo 在done里面是展示全部

echo在done外面只展示成功的

5、循环控制值语句:
1、continue:

满足条件时,会跳出本次循环,但是循环条件如果继续存在,继续执行后面的循环。

满足条件跳出本次循环,继续下一次循环

2、break:

跳出循环,满足条件即刻退出,不在执行后续循环。

3、exit:

如果满足条件,直接退出,所有的可执行条件都不在执行

双层循环 :

continue

break:

猜数字:

设置一个随机数,比这个数大,提示用户输大了,比他小,提示猜小了,等于则提示猜对了。

猜不对不能退出。一直到才对为止。

同时打印出一共猜了多少次

要写死循环

for ((;;))表示死循环

怎么生成随机数:

$RANDOM  0-32767

生成0-100的随机数:$((RANDOM%100+1)) 0-99 +1

$((RANDOM%n+1)) 0-n 代表0-n的随机数

淘宝购买商品:

要求能多次购买,且计算总价格

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值