乘法口诀
- 双重for循环的写法
for ((i=1; i<=9; i++))
do
for ((k=1; k<=$i; k++))
do
c=$[ $i * $k ]
echo -n -e "$i*$k=$c\t"
done
echo ""
done
- 双重while循环的写法
#!/bin/bash
a=1
while [ $a -le 9 ]
do
b=1
while [ $b -le $a ]
do
c=$[ $a * $a ]
echo -n -e "$a*$b=$c\t"
let b++
done
let a++
echo " "
done
-
echo ""
输出一个空值让每次循环完换行处理
输出所有可执行文件
- 输出环境变量PATH所包含的所有目录以及其中的所有可执行文件
- for循环写法
#!/bin/bash
IFS=':'
for i in $PATH
do
echo $i
for k in $i/*
do
if [ -x $k ];then
echo " $k"
fi
done
done
矩形
- 双重for循环
#!/bin/bash
for ((a=1;a<=5;a++))
do
for ((b=1;b<=10;b++))
do
echo -n "*"
done
echo ""
done
直角三角形
- 直角三角形双重for
- 倒直角
#!/bin/bash
for ((a=5;a>=1;a--))
do
for ((b=1;b<=$a;b++))
do
echo -n "*"
done
echo ""
done
- 反的直角三角形
#!/bin/bash
for ((a=1; a<=5; a++))
do
for ((b=5; b>=$a; b--))
do
echo -n " "
done
for ((c=1; c<=$a; c++))
do
echo -n "*"
done
echo ""
done
- 反的倒直角
#!/bin/bash
for ((a=1; a<=5; a++))
do
for ((b=1; b<=$a; b++))
do
echo -n " "
done
for ((c=5; c>=$a; c--))
do
echo -n "*"
done
echo ""
done
- 等腰三角形
#!/bin/bash
for ((a=1; a<=5; a++))
do
for ((b=5; b>=$a; b--))
do
echo -n " "
done
for ((c=1; c<=$a; c++))
do
echo -n "*"
done
for ((d=2; d<=$a; d++))
do
echo -n "*"
done
echo ""
done
进阶一点
#!/bin/bash
for ((a=1; a<=5; a++))
do
for ((b=5; b>=$a; b--))
do
echo -n " "
done
d=$[($a*2)-1]
for ((c=1; c<=$d; c++))
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
for ((c=1;c<=9;c++))
do
echo -n "*"
done
for ((d=1;d<=$[$a*2-1];d++))
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
for ((c=1;c<=$[$a*2-1];c++))
do
echo -n "*"
done
echo ""
done
for ((d=1;d<=10;d++))
do
for ((e=2;e<=$d;e++))
do
echo -n " "
done
for ((f=10;f>=$d;f--))
do
echo -n "*"
done
for ((g=9;g>=$d;g--))
do
echo -n "*"
done
echo ""
done
控制大小
#!/bin/bash
read -p "输入大小" i
for ((a=1;a<=$i;a++))
do
for ((b=$i;b>=$a;b--))
do
echo -n " "
done
for ((c=1;c<=$[$a*2-1];c++))
do
echo -n "*"
done
echo ""
done
for ((d=1;d<=$i+1;d++))
do
for ((e=2;e<=$d;e++))
do
echo -n " "
done
for ((f=$i+1;f>=$d;f--))
do
echo -n "*"
done
for ((g=$i;g>=$d;g--))
do
echo -n "*"
done
echo ""
done