玩转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
将本人在工作学习中的一些知识记录并分享