在shell中的for循环和while循环嵌套结构和其他语言没啥不同,就是循环中又套一个循环或多个循环。
举例:
用while打印万年例题星三角
# *此命令表示匹配当前目录下的文件名
# 用*之前记得转义成普通符号\*
#! /bin/bash
read -p "行数:" Line
read -p "符号:" char # 用*之前记得转义\*
a=1
while [ $a -le $Line ] #第一层循环控制行数
do
b=1
while [ $b -le $a ] #第二层循环控制每行星数
do
echo -n "$char"
b=`expr $b + 1`
done
echo #输出空白,相当于换行
a=`expr $a + 1`
done
#####################
行数:3
符号:*
*
**
***
有时需要对循环达到条件后执行跳出:break和continue
break:跳出整个循环
continue:跳出本次循环进行下次循环,注意是离它最近的那个循环
其他:
echo 后可接-n参数,表示不换行打印
echo "print"
read line #输入5
print
5
#############
echo -n "print"
read line #输入5
print5
read 后可接-p参数,也不换行
echo "print"
read aaa #输入666
print
666
###########
read -p "print" aaa #输入666
echo $aaa
print666
666
#嵌套结构在使用中非常普遍,但也要注意嵌套层数,嵌套太多,执行效率会低下,一定要寻找最合适的方法,写出效率高,结构简单的代码。
#####此文纯属小白笔记,有不对之处大佬使劲喷,杠精请绕过,#####