循环、遍历
循环:重复执行一段代码的结构,通过循环,可以在满足一定条件下,多次执行相同的代码
循环语句:循环体(代码的总结构);
循环条件(当循环条件满足时,循环体内的代码才会执行,条件不满足循环结束)
循环:实际上是一种控制流程的结构,用于重复执行代码
遍历:对数据进行访问和操作的过程
循环语句
循环的特点:重复执行代码,简化程序的逻辑;提高了程序的可读性和可理解性,降低了代码出错的可能性;提高了代码的利用率和效率,使程序自动化执行,减少了人工干预
作用:为了批量执行代码的一种方式,减少人工干预,提高工作效率
for循环语句
1.主要用于已知次数的循环
2.语法结构:
for 变量名 in 取值范围
do
#命令序列,对取值单位内的变量进行特定的操作
done #for循环结束的标志
set -x 打开调试模式;显示代码运行的过程
set +x 关闭调试模式
3.无限循环:for((;;))死循环
类c语言格式
格式:for ((表达式1;表达式2;表达式3))
例:
for ((i=1;i<=10;i++))
do
命令序列
done
数字累加文本
累加求和
从1~100,分别求奇数和偶数的和
sum1=0
sum2=0
for ((i=1;i<=100;i++))
do
let num=$i%2
if [ $num -eq 0 ]
then
sum1=$(($i+$num1))
else
sum2=$(($i+$num2))
fi
done
echo "偶数和为:${sum1}"
echo "奇数和为:${sum2}"
随机变量
#猜数字
$RANDOM 表示一个随机整数
$RANDOM的范围为:0~32767
$((RANDOM%100)) 除100取余,范围为:0~99
$((RANDOM%100+1)) 除100取余加1,范围为:0~100
$((RANDOM%1000)) 除1000取余,范围为:0~999
双重循环
echo -n 表示不换行输出
echo -e 可以使用转义符
转义符:
\b 删除
\n 换行;换一行输出
\t 相当于tab键的空格
\c 不换行输出;如果字符过长,会导致后面的字符不输出
循环控制语句
九九乘法表
for i in {1..9}
do
for ((j=1;j<=i;j++))
do
echo -ne "$i*$j=$(($i*$j))\t"
done
echo
done
跳出循环
break 0 触发后,会立刻跳出整个循环;即使后面还有循环条件也不再执行
continue 1 触发后只跳出这一次循环,后面的循环条件会继续执行
continue 2 针对多层循环;触发后会跳出内循环和外循环(2层)
exit 0 直接退出;作用于整个脚本,后续所有代码都不再执行
while循环
while满足条件就执行循环,不满足条件则结束循环
while [ 条件判断 ]
do
命令序列
done
until循环语句
当判断条件不成立时,才进行循环,条件成立则终止循环
until [ 条件测试语句 ]
do
命令序列
done
cat /etc/passwd | awk -F: '{print $1}'
-F: 指定分割符为“:”
$1 表示把第一列切片