一、九九乘法表
[root@client1 ~]# vi chengfabiao.sh
#!/bin/bash
for ((i=1;i<=9;i++)) //外循环控制输出的行数,九行
do
for((n=1;n<=i;n++)) //内循环,控制每行的输出
do
echo -ne "$i*$n=$[i*n] \t" // -ne代表不换行输出,支持转义字符\t
done
echo
done
[root@client1 ~]# chmod +x chengfabiao.sh
[root@client1 ~]# ./chengfabiao.sh
执行结果
二、打印直角三角形
外层循环一次,内层循环完成全部循环,指导外层循环结束
#!/bin/bash
for ((i=1;i<=6;i++)) //外循环控制输出行数,即直角三角形的高
do
for ((j=1;j<=i;j++)) //内循环次数由i控制,控制每行输出的长度,从1递增到6
do
echo -n "*" //不换行输出,保证内层循环结束,输出的*在一行显示
done
echo //内循环结束一次,输出一次空行,否则所有结果会在一行显示
done
执行结果
三、打印等腰三角形
内循环分成两部分同时进行打印,先打印空格,再打印*
#!/bin/bash
for ((i=1;i<=6;i++)) //等腰三角形的高
do
for ((m=6;m>=i;m--)) //输出空格,由等腰三角形的形状,空格数递减
do
echo -n " "
done
for ((j=1;j<=i;j++)) //输出* ,保证下一行比上一行多出两个长度,所以输出的是*和空格
do
echo -n "* "
done
echo //每输出一行空格和* ,输出一空行,否则所有结果会在一行显示
done
执行结果
四、打印等腰梯形
只需要在等腰三角形的基础上更改
#!/bin/bash
for ((i=1;i<=6;i++))
do
for ((m=6;m>=i;m--))
do
echo -n " "
done
for ((j=1;j<=i+2;j++)) //等腰梯形的第一行输出的长度更长,用j<=i+2,第一行相较等腰三角形就会多输出两个*
do
echo -n "* "
done
echo
done
执行结果
四、打印菱形
菱形可以看做是两个等腰三角形
#!/bin/bash
for ((i=1;i<=6;i++)) //打印菱形的上半部分,6行
do
for ((j=5;j>=i;j--)) //先输出空格,递减
do
echo -n " "
done
for ((m=1;m<=i;m++)) //空格后输出* ,递增
do
echo -n "* "
done
echo //输出一行空格和* 后输出空行
done
for ((i=1;i<=5;i++)) //打印菱形的下半部分,5行,和上半部分的输出相反
do
for ((j=1;j<=i;j++)) //输出空格,递增
do
echo -n " "
done
for ((m=5;m>=i;m--)) //输出* 递减
do
echo -n "* "
done
echo
done
执行结果