双循环
#!/bin/bash
for ((a=1; a<=5; a++))
do
echo "外部循环:a=$a"
for ((b=1; b<=10; b++))
do
if [ $b -gt 5 ];then
break 跳出当前内循环
fi
echo -e "\t内部循环:b=$b"
done
done

#!/bin/bash
for ((a=1; a<=5; a++))
do
echo "外部循环:a=$a"
for ((b=1; b<=10; b++))
do
if [ $b -gt 5 ];then
break 2 跳出2层循环
fi
echo -e "\t内部循环:b=$b"
done
done

#!/bin/bash
for ((a=1; a<=5; a++))
do
echo "外部循环:a=$a"
for ((b=1; b<=10; b++))
do
if [ $b -eq 5 ];then
continue
fi
echo -e "\t内部循环:b=$b"
done
done

九九乘法表
#! /bin/bash
for ((a=1;a<=9;a++))
do
for((b=1;b<=a;b++))
do
sum=$[$a * $b ]
echo -ne "$a*$b=$sum\t"
done
echo “ ”
done

输出 $PATH 中包含的目录和文件
#!/bin/bash
OLDIFS=$IFS
#IFS=$': '
IFS=$IFS:
savePath="/opt/executFile.txt"
echo "" > $savePath
for docm in `echo $PATH`
do
echo "当前目录:$docm 下的可执行文件正在写入 $savePath 文件中"
for file in $docm/*
do
if [ -x $file ];then
echo -e "$file" >> $savePath
fi
done
done
IFS=$OLDIFS
#验证 cat /opt/executFile.txt | more
设置矩形
#!/bin/bash
for (( a=1;a<=9;a++ ))
do
for (( c=1;c<=9;c++ ))
do
echo -n "*"
done
echo ""
done

输出正三角形
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((j=1;j<=$i;j++))
do
echo -n "*"
done
echo ""
done
echo ""

等腰三角形
#!/bin/bash
for ((i=1;i<=9;i++)) #输出的行数
do
for ((j=9;j>$i;j--)) #空心的倒三角
do
echo -n " " #输出空格,每行输出的空格数会-1
done
for ((k=1;k<=$i;k++)) #正三角
do
echo -n "*"
done
for ((x=2;x<=$i;x++)) #反三角
do
echo -n "*"
done
echo ""
done

平行四边形
#!/bin/bash
for ((i=6;i>=1;i--))
do
for ((k=1;k<=$i;k++)) #空格从多到少 / 方向的平行四边形
#for ((k=1;k<=6-$i;k++)) #空格从少到多 \ 方向的平行四边形
do
echo -n " "
done
for ((j=6; j>=1;j--)) #输出6*6矩形
do
echo -n "*"
done
echo ""
done

等腰梯形
#!/bin/bash
for ((i=6;i>=1;i--))
do
for ((k=1;k<=$i;k++)) #空格从多到少
#for ((k=1;k<=6-$i;k++))
do
echo -n " "
done
for ((j=6; j>=1;j--)) #输出6*6矩形
do
echo -n "*"
done
#加上正三角
#得到表达式 第一行加1 第二行加3 第三行加5...
exp=$[(5-$i)*2+3]
for t in `seq 1 $exp`
do
echo -n "*"
done
echo ""
done

菱形
#!/bin/bash
for (( a=1;a<=9;a++ ))
do
for (( b=9;b>$a;b-- ))
do
echo -n " "
done
d=$[($a*2)-1]
for k in $(seq 1 $d)
do
echo -n "*"
done
echo ""
done
for (( a=1;a<=8;a++ ))
do
for (( c=1;c<=$a;c++ ))
do
echo -n " "
done
b=$[(8-$a)*2+1]
for d in $(seq 1 $b)
do
echo -n "*"
done
echo ""
done

输入数字改变菱形的大小
#!/bin/bash
read -p "输入数字:" q
for (( a=1;a<$q;a++ ))
do
for (( b=$q;b>=$a;b-- ))
do
echo -n " "
done
d=$[($a*2)-1]
for k in $(seq 1 $d)
do
echo -n "*"
done
echo ""
done
for (( a=1;a<=$q;a++ ))
do
for (( c=1;c<=$a;c++ ))
do
echo -n " "
done
b=$[($q-$a)*2+1]
for d in $(seq 1 $b)
do
echo -n "*"
done
echo ""
done
