赞
踩
目录
循环是一种控制流程的结构,用于重复执行一段代码。
而遍历是一种数据操作的过程,用于访间并处理数据结构中的每个元素。
在某些情况下,循环和遍历可以结合使用,以便在循环中遍历数据结构并对其进行操作。
循环(Loop) 是计算机编程中非常重要的一种结构,其主要目的是为了简化代码编写。
提高代码的重复利用率,以及提高程序的效率。
重复执行代码:通过使用循环,可以在程序中重复执行一段代码,从而避免代码的重复编写, 减少程序代码量,提高程序的可读性和可维护性。
简化程序逻辑:使用循环可以使程序逻辑更加简洁明了,提高程序的可读性和可理解性。降低代码出错的可能性。
提高代码的重复利用率:通过将重复的代码封装在循环结构中,可以提高代码的重复利用率,减少代码冗余。
提高程序的效率:循环可以让程序自动化地执行重复任务,从而减少人工干预的次数,提高程序的效率和性能。
读取不同的变量值,用来逐个执行同一组命令
for循环经常使用在已经zhidao要进行多少次循环的场景
- 格式:
- for 变量名 in 取值列表
- do
- 命令序列
- done
- for ((expr1;expr2;expr3))
- do
- echo
- done
for ((;;))
(1)批量创建用户,用户名存放在users.txt文件中,每一个初始密码为123456。
(2)根据ip地址检测主机状态,IP地址存放在ipadds.txt文件中,每行一个,使用ping命令检测各主机的联通性,ping通的ip地址放到/opt/hosts文件中
- echo -n 表示不换行输出
-
- echo -e 输出转义字符,将转义后的内容输出到屏幕上
-
- 常用的转义字符如下:
- \b 转义后相当于按退格键(backspace),但前提是"\b"后面存在字符;"\b"表示删除前一个字符,"\b\b"表示删除前两个字符。
-
- \c 不换行输出,在"\c"后面不存在字符的情况下,作用相当于 echo -n; 但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。
-
- \n 换行,被输出的字符从"\n"处开始另起一行。
-
- \f 换行,但是换行后的新行的开头位置连接着上一行的行尾;
-
- \v 与\f相同;
-
- \t 转以后表示插入tab,即横向制表符;
-
- \r 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖
-
- \\ 表示插入"\"本身;
(1)制作长方形图表
(2)制作等腰三角形图表
(3)制作九九乘法表
脚本解释:for i in {1..9}设置的是循环9次,
j<=i 表示的是在每次$i循环时$j小于等于$i,大于$i的$j不显示出来
j++是一个后缀自增运算符,表示将变量j的值加1,并返回原始值。
(4)制作倒的九九乘法表
while循环满足条件执行,不满足不执行
用于不知道循环次数,需要主动结束循环或达到条件结束循环。
- while [ 判断条件]
-
- do
-
- 执行动作 while循环执行动作
-
- done while循环结束标志
(1)输出0-5
(2)批量添加用户
(3)猜数字
(4)计算机
(5)商场购物并打折
- #!/bin/bash
- i=1
- sum=0
- while [ $i -eq 1 ]
- do
- echo "要不要进第$i家商店看看呢"
- read -p "是否进入看看(yes/no)" doing
- while [ $doing = "yes" ]
- do
- echo "1:衣服 ¥200"
- echo "2:鞋子 ¥150"
- echo "3:帽子 ¥50"
- echo "4:裤子 ¥165"
- read -p "请选择需要购买的商品序列号:" num
- case $num in
- 1)
- echo "衣服购买成功!"
- expr $[ sum+=200 ] &> /dev/null
- ;;
- 2)
- echo "鞋子购买成功!"
- expr $[ sum+=150 ] &> /dev/null
- ;;
-
- 3)
- echo "帽子购买成功!"
- expr $[ sum+=50 ] &> /dev/null
- ;;
-
- *)
- echo "裤子购买成功!"
- expr $[ sum+=165 ] &> /dev/null
- ;;
- esac
- read -p "是否继续进行购买(yes/no)" doing
- done
- let i++
- if [ $doing = "no" ]
- then continue
- fi
- done
- echo "今天您的购物总价为:$sum"
-
- if [ $sum -ge 150 ] && [ $sum -lt 200 ];then
- let sum=sum-50
- elif [ $sum -ge 200 ] && [ $sum -le 400 ];then
- let sum=$sum-100
- fi
- echo "打折之后的价格为:$sum"
通常用于当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环,比如等待某个进程退出、等待某个文件被创建等等。
- 格式:
- until 条件测试操作
- do
- 命令序列
- done
计算0-50的总值
- #!/bin/bash
- #功能1:0-50的和是多少?
- #i=0;s=0
- #until [ $i -eq 51 ]
- #do
- # let s+=i
- # let i++
- #done
- #echo $s
表示满足continue条件是跳出循环,但是不影响后续循环执行
它的作用是在循环内部跳过本次循环并继续下一次循环
continue 2会跳过当前循环和两层外层循环的迭代
在循环内部,当执行到 break 命令时,会立即跳出当前的循环,停止循环执行,然后继续执行下一条指令。
可以使用 break 命令来提前终止循环,例如当达到特定条件时或者已经执行了足够的次数。
break 2 会跳出当前循环和外层循环的迭代
- 1.首先明确脚本的功能
- 1.1案例:需求是创建用户并测试用户20个
- ->那肯定要用循环for、 while
- ->知道需求含义来定义脚本的功能
-
- 2.编写脚本时会使用到哪些命令?
- 2.1如上面的需求:就要使用useradd passwd let echo for while 等命令
-
- 3.把变化的数据使用变量表示【记得要先定义哦】
- 3.1固定长的定义变量、经常调用的参数可设变量
- 3.2变化的定义变量
-
- 4.选择适合的流程控制
- 4.1【循环语句、双分支、多分支、case等一些控制语句 】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。