玩转shell脚本——用shell脚本画图形
一、画直线
1、用for循环
1.1 格式
#!/bin/bash #Draw a straight line for ((i=1;i<=26;i++)) do echo -n "-" done echo ""
1.2 实例操作

2、用while循环
2.1 格式
#!/bin/bash #Draw a straight line a=1 while [ $a -le 26 ] do echo -n "-" let a++ done echo ""
2.2 实例操作

二、画矩形
1、实心矩形
1.1、格式
#!/bin/bash
#Draw a rectangular
for ((i=1;i<=10;i++))
do
for((j=1;j<=26;j++))
do
echo -n "*"
done
echo ""
done
1.2、实例操作

2、空心矩形
2.1 格式
#!/bin/bash
#Draw a rectangular
for ((i=1;i<=10;i++))
do
if [ $i -eq 1 -o $i -eq 10 ];then
for((j=1;j<=26;j++))
do
echo -n "*"
done
echo ""
else
echo -n "*"
for ((k=1;k<=24;k++))
do
echo -n " "
done
echo "*"
fi
done
2.2 实例操作

三、画三角形
1、左边实心直角三角形
1.1 格式
#!/bin/bash
#Draw a triangle
for ((i=1;i<=10;i++))
do
for ((j=1;j<=i;j++))
do
echo -n " *"
done
echo ""
done
1.2 实例操作

2、左边空心直角三角形
2.1 格式
#!/bin/bash
#Draw a triangle
for ((i=1;i<=10;i++))
do
if [ $i -eq 1 -o $i -eq 10 -o $i -eq 2 ];then
for ((j=1;j<=i;j++))
do
echo -n "*"
done
echo ""
else
echo -n "*"
for ((k=1;k<=(i-2);k++))
do
echo -n " "
done
echo "*"
fi
done
2.2 实例操作

3、倒左实心直角三角形
3.1 格式
#!/bin/bash #Draw a triangle for ((i=1;i<=10;i++)) do for ((j=10;j>=i;j--)) do echo -n "*" done echo "" done
3.2 实例操作

4、正右直角三角形
#!/bin/bash for ((a=1;a<=10;a++)) do # 做一个空格倒三角 for ((b=10;b>=$a;b--)) do echo -n " " done for ((c=1;c<=$a;c++)) do echo -n "*" done echo "" done
5、倒右直角三角形
#!/bin/bash for ((a=1;a<=10;a++)) do # 做一个空格倒三角 for ((b=1;b<=$a;b++)) do echo -n " " done for ((c=10;c>=$a;c--)) do echo -n "*" done echo "" done
6、等腰三角形
6.1 正等腰三角形
#!/bin/bash
for ((a=1;a<=10;a++))
do
for ((b=10;b>=$a;b--))
do
echo -n " "
done
for ((c=1;c<=$[$a*2-1];c++))
do
echo -n "*"
done
echo ""
done
6.2 倒等腰三角形
#!/bin/bash
for ((a=10;a>=1;a--))
do
for ((b=10;b>=$a;b--))
do
echo -n " "
done
for ((c=1;c<=$[$a*2-1];c++))
do
echo -n "*"
done
echo ""
done
四、菱形
1 、静态菱形
#!/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
2、可变菱形
#!/bin/bash
read -p "请输入想要的菱形大小(数字):" n
for((a=1;a<=$n;a++))
do
for ((b=$n;b>=$a;b--))
do
echo -n " "
done
for ((c=1;c<=$[$a*2-1];c++))
do
echo -n "*"
done
echo ""
done
for ((i=$n-1;i>=1;i--))
do
for ((j=$n;j>=$i;j--))
do
echo -n " "
done
for ((l=1;l<=$[$i*2-1];l++))
do
echo -n "*"
done
echo ""
done

五、平行四边形
1 、平行四边形一
#!/bin/bash
for ((i=10;i>=1;i--))
do
for((k=1;k<=i;k++))
do
echo -n " "
done
for (( j=10;j>=1;j--))
do
echo -n "*"
done
echo ""
done
2 、平行四边形二
#!/bin/bash
for ((i=1;i<=10;i++))
do
for((k=1;k<=i;k++))
do
echo -n " "
done
for (( j=1;j<=10;j++))
do
echo -n "*"
done
echo ""
done
六、梯形
1 、等腰梯形
#!/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
2 、直角梯形
#!/bin/bash
for ((a=1;a<=9;a++))
do
for ((b=9;b>=$a;b--))
do
echo -n " "
done
for ((c=1;c<=9+$a;c++))
do
echo -n "*"
done
echo ""
done
将本人在工作学习中的一些知识记录并分享
浙公网安备 33010602011771号