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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM