玩转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

  

posted on 2021-08-05 09:56  笑洋仟  阅读(1838)  评论(0编辑  收藏  举报

levels of contents