说到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 ))  最后一种写法注意空格,否则会报错的

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

linux脚本Shell之九九乘法表的更多相关文章

  1. linux下shell编写九九乘法表

    主要语法:类似    1x2       echo   $((1*2)) for 变量 in 值1 值2 值3 ;do linux命令或者语句done

  2. shell脚本,打印九九乘法表。

    [root@localhost ~]# .sh #!/bin/bash #计算九九乘法表 ` do ` do [ $j -le $i ] && echo -n "$i*$j= ...

  3. 【shell脚本】打印九九乘法表

    打印九九乘法表 一.seq介绍 seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式.宽度.分割符号进行控制 语法: [1] seq [选项 ...

  4. shell脚本———双重循环——九九乘法表

    1.基础双重循环模板 2.break跳出单个循环 3.continue中止某次循环中的命令,但不会完全中止整个命令 4.九九乘法表

  5. python脚本7_打印九九乘法表

    #打印九九乘法表 for i in range(1,10): s = "" for j in range(1,i+1): s += str(j) + '*' + str(i) + ...

  6. shell 输出九九乘法表

    #/bin/bash i= j= )) do while(($j<=$i)) do echo -ne $j×$i=$[$j*$i]"\t" j=$[$j+] done ech ...

  7. shell之九九乘法表

    echo -n 不换行输出   $echo -n "123" $echo "456"   最终输出  123456   而不是 123 456   echo - ...

  8. shell脚本输出九九乘法表

    #!/bin/bash#输出九九乘法表 for ((i=1;i<=9;i++)) do for ((j=1;j<=$i;j++)) do echo -n $j'x'$i=$(($i*$j) ...

  9. Shell双重循环、图形排列及九九乘法表

    Shell双重循环.图形排列及九九乘法表 目录 Shell双重循环.图形排列及九九乘法表 一.双重循环 1. 双重循环概述 2. 双重循环结构 二.循环特殊操作 1. exit 2. break 3. ...

随机推荐

  1. echarts x轴或y轴文本字体颜色改变

    1:x轴文本字体颜色改变 xAxis : [ { type : 'category', data : ['<30','30-','40-','50-','60-','>=70'], axi ...

  2. diff命令

    描述 在最简单的情况是, diff 比较两个文件的内容 (源文件 和 目标文件). 文件名可以是 - 由标准输入设备读入的文本. 作为特别的情况是, diff - - 比较一份标准输入的它自己的拷贝如 ...

  3. mysql安装和基本配置-redhat

    1.redhat yum替换参考 url:http://blog.csdn.net/zcyhappy1314/article/details/17580943 2.yum卸载mysql rpm -qa ...

  4. inception cenOS 安装

    inception手册http://mysql-inception.github.io/inception-document/install/ 执行命令sh inception_build.sh,ce ...

  5. 写入XML文件

    public static void writeXMLFile(Document doc,String xmlFileName) throws IOException{  OutputFormat f ...

  6. 简单封装常用js方法

    1.uploadfiy插件封装 /* 参数:uploadID:上传控件ID url:请求后台url路径   callback:回调函数 */ uploadfiy({ uploadID: $('#btn ...

  7. Junit单元测试对线程测试没反应

    今天还想简单写写线程的东西,结果刚刚写完我就懵逼了. 结果啥都没有输出,而用主方法运行就可以输出.没办法,只有度年来寻求自己的答案了 结果各方面的了解,我算是有个了解了. 首先来看看代码 packag ...

  8. doT.js实例详解

    doT.js详细介绍 doT.js特点是快,小,无依赖其他插件.官网:http://olado.github.iodoT.js详细使用介绍 使用方法:{{= }} for interpolation{ ...

  9. jmeter从外部文件取值问题,如果文件中的参数值为纯数字形式的,jmeter会默认将其识别成int型数据

    如果你通过CSV Data Set Config或者_StringFromFile函数来参数化你的请求,需要特别注意当参数为纯数字时,jmeter会默认将其识别成int型数据,说明jmeter并不是默 ...

  10. 【转载】javadoc学习笔记和可能的注意细节

    转载自:http://www.cnblogs.com/xt0810/p/3630996.html [前面的话] 这次开发项目使用jenkins做持续集成,PMD检查代码,Junit做单元测试,还会自动 ...