玩转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号
浙公网安备 33010602011771号