shell編輯顯示形狀格式(99乘法表,三角,梯形,平行四邊形,菱形等)
阿新 • • 發佈:2020-12-28
技術標籤:shell
99乘法表
#!/bin/bash for ((a=1; a<=9; a++)) ----從1行開始排行數每次遞增1行直到9行 do for ((b=1; b<=$a; b++)) ----從第一行開始保留1個位,然後每行遞增1個位,直到保留9個位,因為b<=a所以最大就是9位 do c=$[$a*$b] -----計算乘法公式 echo -n "$a*$b=$c" -----輸出結果資訊,之後會以此進行排列 done echo "" done
執行
[[email protected] opt]# . yyy11.sh 1*1=1 2*1=22*2=4 3*1=33*2=63*3=9 4*1=44*2=84*3=124*4=16 5*1=55*2=105*3=155*4=205*5=25 6*1=66*2=126*3=186*4=246*5=306*6=36 7*1=77*2=147*3=217*4=287*5=357*6=427*7=49 8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64 9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81
可以發現雖然排列出來了但是橫排之間還是比較混亂
加上-e和\t轉義符進行橫向排版
使用"*"符號製作各種形狀圖
矩形
#!/bin/bash
for ((a=1; a<=9; a++)) ------從1行開始排行數每次遞增1行直到9行
do
for ((b=1; b<=9; b++)) ------所有行都會是9個
do
echo -n "*"
done
echo ""
done
執行
[[email protected] opt]# . yyy12.sh ********* ********* ********* ********* ********* ********* ********* ********* *********
直角三角形
#!/bin/bash
for ((a=1; a<=9; a++)) ----從1行開始排行數每次遞增1行直到9行
do
for ((b=1; b<=a; b++)) ----從第一行開始保留1個位,然後每行遞增1個位,直到保留9個位,因為b<=a所以最大就是9位
do
echo -n "*" -----這裡表示輸出符號"*"
done
echo " "
done
執行
[[email protected] opt]# . yyy6.sh
*
**
***
****
*****
******
*******
********
*********
倒直角三角形
#!/bin/bash
for ((a=1; a<=9; a++))
do
for ((b=9; b>=a; b--)) -----將此處反過來寫,由多到少,9位~1位
do
echo -n "*"
done
echo ""
done
執行
[[email protected] opt]# . yyy5.sh
*********
********
*******
******
*****
****
***
**
*
反直角三角形
#!/bin/bash
for ((a=1; a<=9; a++)) -----還是需要先設定變數及範圍
do
for ((b=9; b>=$a; b--)) -----建立一個透明的正直三角
do
echo -n " " -----此處空大概為透明的意思
done
for ((c=1; c<=$a; c++)) ----之後由低到高輸出排列符號"*"
do
echo -n "*"
done
echo ""
done
執行
[[email protected] opt]# . yyy7.sh
*
**
***
****
*****
******
*******
********
*********
等腰三角形
#!/bin/bash
for ((a=1; a<=9; a++))
do
for ((b=9; b>=$a; b--))
do
echo -n " "
done
for ((c=1; c<=$a; c++))
do
echo -n "*"
done
for ((d=2; d<=$a; d++)) ------在反直角的基礎上新增一個正直三角,但是注意要少一個格子,因為這樣才能讓三角尖頭位一個符,也就是多退一位將1改成2
do
echo -n "*"
done
echo ""
done
執行
[[email protected] opt]# . yyy8.sh
*
***
*****
*******
*********
***********
*************
***************
*****************
平行四邊形
#!/bin/bash
for ((a=1; a<=9; a++))
do
for ((b=9; b>=$a; b--))
do
echo -n " "
done
for ((c=1; c<=$a; c++))
do
echo -n "*"
done
for ((d=8; d>=$a; d--)) ----比反直角的基礎上新增一個倒直三角,並且也要退一格,由9變為8,不然會造成突出形狀
do
echo -n "*"
done
echo ""
done
執行
[[email protected] opt]# . yyy9.sh
*********
*********
*********
*********
*********
*********
*********
*********
*********
梯形
#!/bin/bash
for ((a=1; a<=9; a++))
do
for ((b=9; b>=a; b--))
do
echo -n " "
done
for ((c=1; c<=a; c++))
do
echo -n "*"
done
for ((d=1; d<=9; d++)) -----在反直角上多加一個矩形就行
do
echo -n "*"
done
echo ""
done
執行
[[email protected] opt]# . yyy10.sh
**********
***********
************
*************
**************
***************
****************
*****************
******************
等腰梯形
#!/bin/bash
for ((a=1; a<=6; a++))
do
for ((b=6; b>=$a; b--))
do
echo -n " "
done
for ((d=1; d<=$a; d++))
do
echo -n "*"
done
for ((c=1; c<=6+$a; c++)) ----在反直角上多加一個矩形和正直三角,這裡可以兩個一塊程式設計,很方便,多加一個c<=後的引數就行
do
echo -n "*"
done
echo ""
done
執行
[[email protected] opt]# . yyy13.sh
********
**********
************
**************
****************
******************
菱形
#!/bin/bash
for ((a=1; a<=9; a++))
do
for ((b=9; b>=$a; b--))
do
echo -n " "
done
for ((c=1; c<=$a; c++))
do
echo -n "*"
done
for ((d=2; d<=$a; d++)) ------先將等腰三角形做出
do
echo -n "*"
done
echo ""
done ----結束此次迴圈
-----接著下一次迴圈
for ((e=1; e<=10; e++)) -----需要重新定義變數和範圍
do
for ((f=0; f<=$e; f++)) ------先建立倒立正空三角,然後建立反的直三角,注意這裡f要由1改成0,要退一格,否則會不堆對稱
do
echo -n " "
done
for ((g=8; g>=$e; g--))
do
echo -n "*"
done
for ((h=7; h>=$e; h--)) ------最後再建立一個倒立正三角,注意這裡也要將h改為7,因為之前的反直三角已經佔了一個尖頭的位置,所以需要退一格
do
echo -n "*"
done
echo ""
done
執行
[[email protected] opt]# . yyy14.sh
*
***
*****
*******
*********
***********
*************
***************
*****************
***************
*************
***********
*********
*******
*****
***
*