linux脚本Shell之九九乘法表

时间:2023-03-08 21:53:20

说到9*9乘法表,许多朋友在想这是小学二年级就会的东西,不错,确实是这样,那么在linux下,使用shell打印出99乘法表应该如何编写脚本的?

笔者的文档今天就写下来,有需要的朋友可以参考下

代码:

 [root@localhost ~]# for((i=1;i<=9;i++))
> do
> for((j=1;j<=i;j++))
> do
> echo -n -e "$j*$i="$[j*i]"\t"
> done
> echo -e "\n"
> 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 ))  最后一种写法注意空格,否则会报错的

以上就是今天笔者分享的知识以及应该注意的可能会出错的地方,欢迎指正和批评。