700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Shell脚本之循环语句——for循环 while循环 until循环

Shell脚本之循环语句——for循环 while循环 until循环

时间:2020-03-07 10:04:14

相关推荐

Shell脚本之循环语句——for循环 while循环 until循环

目录

一.for循环

1.基本格式

2.脚本小仓库

2.1 打印一列问号

2.2 打印正方形

2.3 九九乘法表

2.4 求1..10奇数和

2.5批量创建用户并修改密码

2.6 1累加到100方法一

2.7 1累加到100方法二

二.while循环

1.基本格式

2.脚本小仓库

2.1 猜价格小游戏

2.2 1累加到100方法三

三.until循环

1.基本格式

2.脚本小仓库

2.1 1累加到100方法四

四.嵌套循环

五.循环语句中的break、exit和continue的使用

1.break的使用

2.exit的使用

3.continue的使用

一.for循环

1.基本格式

读取不同的变量值,用来逐个执行同一组命令,经常使用在已经知道要进行多少次循环的场景。

格式:for 变量名 in 取值列表do命令序列done

2.脚本小仓库

2.1 打印一列问号

#!/bin/bashfor i in {1..9}doecho -e " ? "done

2.2 打印正方形

#!/bin/bashfor j in {1..9}dofor i in {1..9}doecho -e " * \c"#\c换行doneecho#换行done

2.3 九九乘法表

#!/bin/bashfor j in {1..9}dofor i in `seq $j`doecho -e "${i}x${j}=$[i*j] \t\c"#\t tab键可以对齐doneechodone

2.4 求1..10奇数和

#/bin/bashsum=0for i in {1..10..2}dosum=$[sum+i]let i++doneecho "10以内的奇数和为:$sum"

2.5批量创建用户并修改密码

#!/bin/bashfor user in {1..10}doecho stu${user}|xargs -n1 useraddecho "123123"|passwd --stdin stu${user}done

2.6 1累加到100方法一

#!/bin/bashsum=0for ((i=0;i<=100;i++))dosum=$[i+sum]doneecho sum=$sum

2.7 1累加到100方法二

#!/bin/bashsum=0for i in {1..100}dolet sum=$i+$sum#sum=$[i+sum]#两种方法都可以doneecho sum=$sum

二.while循环

1.基本格式

重复测试某个条件,只要条件成立则反复执行

格式:while [ 条件测试操作 ]do#do代表循环的开始判断式/命令序列done #done代表循环的结束

2.脚本小仓库

2.1 猜价格小游戏

#!/bin/bashp=`echo $[RANDOM%1000+1]`time=0while truedolet time++read -p "请输入您猜测的价格(1-1000):" hif [ $h -eq $p ]thenecho "恭喜您猜中了,您一共猜测了$time次"exitelif [ $h -gt $p ]thenecho "您猜测的价格过高"elseecho "您猜测的价格过低"fidone

2.2 1累加到100方法三

#!/bin/bashi=0sum=0while [ $i -le 100 ]dosum=$[i+sum]let i++doneecho $sum

三.until循环

1.基本格式

重复测试某个条件,只要条件不成立则反复执行

格式:until [ 条件测试操作 ]do判断式/命令序列done

2.脚本小仓库

2.1 1累加到100方法四

#!/bin/bashsum=0i=0until [ $i -gt 100 ]dosum=$[sum+i]let i++doneecho "{1..100}的和:$sum"

四.嵌套循环

在循环内部再使用一个循环称为嵌套循环

格式:#!/bin/bashfor ((i=1;i<5;i++))doecho 此${i}为外部循环for((j=1;j<4;j++))doecho -e "\t此${j}为内部循环"donedone

五.循环语句中的break、exit和continue的使用

1.break的使用

当满足条件的情况下break会跳出当前循环体

#!/bin/bashfor ((i=1;i<5;i++))doecho 此${i}为外部循环for((j=1;j<4;j++))doif [ $j -eq 3 ]<------如果j的值为3thenbreak<------跳出当前循环(内部)fi echo -e "\t此${j}为内部循环"donedone

2.exit的使用

当满足条件的情况下exit会直接退出当前脚本

#!/bin/bashfor ((i=1;i<5;i++))doecho 此${i}为外部循环for((j=1;j<4;j++))doif [ $j -eq 3 ]<------如果j的值为3thenexit<------结束当前脚本fiecho -e "\t此${j}为内部循环"donedone

3.continue的使用

continue中止某次循环中的命令,但不会完全中止整个命令

#!/bin/bashfor ((i=1;i<5;i++))doecho 此${i}为外部循环for((j=1;j<4;j++))doif [ $j -eq 2 ]<------如果j的值为2thencontinue<------中止循环中本次的命令,但不会完全中止整个循环或脚本fiecho -e "\t此${j}为内部循环"donedone

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。