說到9*9乘法表,許多朋友在想這是小學二年級就會的東西,不錯,確實是這樣,那么在linux下,使用shell打印出99乘法表應該如何編寫腳本的?
筆者的文檔今天就寫下來,有需要的朋友可以參考下
代碼:
1 [root@localhost ~]# for((i=1;i<=9;i++)) 2 > do 3 > for((j=1;j<=i;j++)) 4 > do 5 > echo -n -e "$j*$i="$[j*i]"\t" 6 > done 7 > echo -e "\n" 8 > done
結果:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
是不是看到熟悉的九九乘法表了呢,~_~
上面的腳本有幾個地方需要注意的
1. echo -n 的意思是不自動換行,因為在linux shell中 echo到最后一個字符時會自動換行的,所以echo -n取消了shell的自動換行
2. echo -e "\n" 的意思是把字符串中某些字符當成特殊字符處理如:
\t 制表符 \n換行符 \b 刪除前一個字符 \f 換行但光標仍舊停留在原來的位置 \r 光標移至行首,但不換行
3. $[j*i] 在shell中表示j*i;但是在linux shell中不能直接寫成j*i;必須寫成$[j*i]或者$[$j*$i] 或者 $(( $j * $i )) 最后一種寫法注意空格,否則會報錯的
以上就是今天筆者分享的知識以及應該注意的可能會出錯的地方,歡迎指正和批評。
