shell编程之循环语句

目录

for循环语句:

例题:分别打印1-100内的奇数和与偶数和

echo的用法:

常用转义符:

循环控制语句:

 例题:计算从1到100所有整数的和

例题:提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

例题:

某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,

又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。

依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?

while循环语句

例题:计算1..100的和

 随机数的表示:

例题:猜数字

例题:ping网段

例题:将opt目录下以.txt结尾的文件合并到新的文件里

until循环语句:

循环控制语句:

例题:淘宝只有一家店,衣服 500  裤子 400  鞋子 300  帽子 200  袜子 100

每次选购完成之后都要提示用户是否继续购买,如果用户不买了,要提示结算金额,你 消费了多少。如果继续买,就继续添加商品,最后也要给一个总金额

例题: 用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,

输出提示该用户已存在;用户存在但没设密码,则提示用户并让用户设置密码;

若该用户不存在,提示用户输入密码,建立用户并设立其密码

例题: 用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警

例题:使用循环语句将一个 0到255 之间的十进制数转换成8位数二进制数

 例题:使用三种方式写出1-100求和


循环与遍历

循环:重复执行一段代码的结构,通过循环,可以在满足一定的条件之下,多次执行的代码

循环语句:循环体,代码的总结构,循环条件,当循环条件满足时,循环体内的代码才会执行,条件不满足,循环结束。

遍历:对数据结构中的每个元素都进行一次访问、操作或者输出的过程

循环和遍历是结合在一起使用的

循环实际上是一种控制流程的结构,用于重复执行代码

遍历就是一种对数据进行访问和操作的过程。

循环的特点:

(1) 重复执行代码

(2) 简化程序的逻辑,提高程序的可读性和可理解性,降低了代码出错的可能性

(3) 提高了代码的重复利用率

(4) 提高了效率,循环可以自动化的让程序执行,减少了人工的干预,就提高了效率

循环的作用:就是为了批量的执行代码的一种方式。减少人工干预,提高效率

for循环语句:

1.for循环主要用于已知次数的循环

2.语法结构:

for 变量名 in 取值范围

do

命令序列 //对取值范围内的变量进行特定的操作

done //循环结束的标志

3.无线循环:for((;;)) 死循环

第二种格式:for i in {1..5} //限定取值范围的格式为1-5

第三种格式:类c语言格式:

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

do

命令序列

done

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

数字累加脚本

sum=0

for i in {1..10}

do

sum=$(($i+$sum))

done

例题:分别打印1-100内的奇数和与偶数和

双层循环:

for

        for

echo的用法:

echo -n:不换行输出

echo -e:可以使用转义符

常用转义符:

\b //删除键

\n //换行

\t //相当于tab键的空格

\c //不换行输出,字符过长,会导致后面的字符不输出

外面的大循环,大循环控制整个循环的次数,大循环打印的是行,内循环控制的是列

循环控制语句:

break:一旦触发break,整个循环会78立刻跳出,即使后面还有循环条件,也不再执行了。

continue:一旦触发continue,只会跳出这一次循环,如果后面的循环条件依然有,继续执行。

exit :整个脚本终止运行,直接退出,续代码不再执行

 

 例题:计算从1到100所有整数的和

 

 

例题:提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

 

例题:
某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,
又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。
依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?

while循环语句

while也是一种循环,满足条件执行循环,不满足结束循环

用于不知道循环次数,需要主动结束循环或者达到条件结束循环的场景。

格式:

while [ 条件判断 ]

do

命令序列

done

例题:计算1..100的和

 

 随机数的表示:

%RANDOM,表示一个随机整数

%RANDOM的值的范围:0-32767

定义范围:$((RANDOM%100)) //表示0-99

$((RANDOM%100+1)) //表示1-100

$((RANDOM%1000)) //表示0-999

例题:猜数字

先定义随机数

num=$((RANDOM%100+1))

方法一:

 方法二:

例题:ping网段

例题:将opt目录下以.txt结尾的文件合并到新的文件里

until循环语句:

until

当判断条件不成立时,才进行循环,条件成立,终止循环

格式:

until [ 条件测试语句 ]

do

命令序列

done

例题:1-10求和

循环控制语句:

continue:

continue:跳出当前循环,但是后续还有循环条件,会继续执行

break:跳出当前循环,后面的条件不再继续执行

exit:直接退出,作用于整个脚本,整个脚本立刻终止

exit 0:即刻退出

例题:淘宝只有一家店,衣服 500  裤子 400  鞋子 300  帽子 200  袜子 100
每次选购完成之后都要提示用户是否继续购买,如果用户不买了,要提示结算金额,你 消费了多少。如果继续买,就继续添加商品,最后也要给一个总金额

 

例题: 用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,
输出提示该用户已存在;用户存在但没设密码,则提示用户并让用户设置密码;
若该用户不存在,提示用户输入密码,建立用户并设立其密码

 

 

例题: 用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警

 

 

例题:使用循环语句将一个 0到255 之间的十进制数转换成8位数二进制数

 

 例题:使用三种方式写出1-100求和

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值