shell用for循环编辑显示形状格式(99乘法表,三角,梯形,平行四边形,菱形等)
生活随笔
收集整理的這篇文章主要介紹了
shell用for循环编辑显示形状格式(99乘法表,三角,梯形,平行四边形,菱形等)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 99乘法表
- 使用"*"符號制作各種形狀圖
- 矩形
- 直角三角形
- 倒直角三角形
- 反直角三角形
- 等腰三角形
- 平行四邊形
- 梯形
- 等腰梯形
- 菱形
99乘法表
#!/bin/bashfor ((a=1; a<=9; a++)) ----從1行開始排行數每次遞增1行直到9行dofor ((b=1; b<=$a; b++)) ----從第一行開始保留1個位,然后每行遞增1個位,直到保留9個位,因為b<=a所以最大就是9位doc=$[$a*$b] -----計算乘法公式echo -n "$a*$b=$c" -----輸出結果信息,之后會以此進行排列doneecho ""done執行
[root@localhost 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/bashfor ((a=1; a<=9; a++)) ------從1行開始排行數每次遞增1行直到9行dofor ((b=1; b<=9; b++)) ------所有行都會是9個doecho -n "*"doneecho "" done執行
[root@localhost opt]# . yyy12.sh ********* ********* ********* ********* ********* ********* ********* ********* *********直角三角形
#!/bin/bashfor ((a=1; a<=9; a++)) ----從1行開始排行數每次遞增1行直到9行dofor ((b=1; b<=a; b++)) ----從第一行開始保留1個位,然后每行遞增1個位,直到保留9個位,因為b<=a所以最大就是9位doecho -n "*" -----這里表示輸出符號"*"doneecho " " done執行
[root@localhost opt]# . yyy6.sh * ** *** **** ***** ****** ******* ******** *********倒直角三角形
#!/bin/bashfor ((a=1; a<=9; a++)) dofor ((b=9; b>=a; b--)) -----將此處反過來寫,由多到少,9位~1位doecho -n "*"doneecho "" done執行
[root@localhost opt]# . yyy5.sh ********* ******** ******* ****** ***** **** *** ** *反直角三角形
#!/bin/bashfor ((a=1; a<=9; a++)) -----還是需要先設置變量及范圍 dofor ((b=9; b>=$a; b--)) -----創建一個透明的正直三角doecho -n " " -----此處空大概為透明的意思donefor ((c=1; c<=$a; c++)) ----之后由低到高輸出排列符號"*"doecho -n "*" doneecho ""done執行
[root@localhost opt]# . yyy7.sh *********************************************等腰三角形
#!/bin/bashfor ((a=1; a<=9; a++)) dofor ((b=9; b>=$a; b--))doecho -n " "donefor ((c=1; c<=$a; c++))doecho -n "*" donefor ((d=2; d<=$a; d++)) ------在反直角的基礎上添加一個正直三角,但是注意要少一個格子,因為這樣才能讓三角尖頭位一個符,也就是多退一位將1改成2doecho -n "*"doneecho "" done執行
[root@localhost opt]# . yyy8.sh *********************************************************************************平行四邊形
#!/bin/bashfor ((a=1; a<=9; a++))dofor ((b=9; b>=$a; b--))doecho -n " "donefor ((c=1; c<=$a; c++))doecho -n "*"donefor ((d=8; d>=$a; d--)) ----比反直角的基礎上添加一個倒直三角,并且也要退一格,由9變為8,不然會造成突出形狀doecho -n "*"doneecho ""done執行
[root@localhost opt]# . yyy9.sh *********************************************************************************梯形
#!/bin/bashfor ((a=1; a<=9; a++))dofor ((b=9; b>=a; b--))doecho -n " "donefor ((c=1; c<=a; c++))doecho -n "*"donefor ((d=1; d<=9; d++)) -----在反直角上多加一個矩形就行doecho -n "*"doneecho "" done執行
[root@localhost opt]# . yyy10.sh ******************************************************************************************************************************等腰梯形
#!/bin/bashfor ((a=1; a<=6; a++))dofor ((b=6; b>=$a; b--))doecho -n " "donefor ((d=1; d<=$a; d++))doecho -n "*"donefor ((c=1; c<=6+$a; c++)) ----在反直角上多加一個矩形和正直三角,這里可以兩個一塊編程,很方便,多加一個c<=后的參數就行doecho -n "*"doneecho "" done執行
[root@localhost opt]# . yyy13.sh ******************************************************************************菱形
#!/bin/bashfor ((a=1; a<=9; a++))dofor ((b=9; b>=$a; b--))doecho -n " "donefor ((c=1; c<=$a; c++))doecho -n "*"donefor ((d=2; d<=$a; d++)) ------先將等腰三角形做出doecho -n "*"doneecho "" done ----結束此次循環-----接著下一次循環 for ((e=1; e<=10; e++)) -----需要重新定義變量和范圍 dofor ((f=0; f<=$e; f++)) ------先創建倒立正空三角,然后創建反的直三角,注意這里f要由1改成0,要退一格,否則會不堆對稱doecho -n " "donefor ((g=8; g>=$e; g--))doecho -n "*"donefor ((h=7; h>=$e; h--)) ------最后再創建一個倒立正三角,注意這里也要將h改為7,因為之前的反直三角已經占了一個尖頭的位置,所以需要退一格doecho -n "*"doneecho ""done執行
[root@localhost opt]# . yyy14.sh *************************************************************************************************************************************************總結
以上是生活随笔為你收集整理的shell用for循环编辑显示形状格式(99乘法表,三角,梯形,平行四边形,菱形等)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美团前端二面必会面试题(附答案)
- 下一篇: 微型计算机商品三包条例退货,新消法完善三