Linux脚本练习之script006-编写一个脚本,打印任何数的乘法表。

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux脚本练习之script006-编写一个脚本,打印任何数的乘法表。相关的知识,希望对你有一定的参考价值。

script006

题目

编写一个脚本,打印任何数的乘法表。如输入 3 则打印:

1*1=1
2*1=2   2*2=4
3*1=3   3*2=6   3*3=9

分析

本题考查的知识点:

  • 自定义函数
  • 函数传参
  • if 条件语句
  • 双层 for 循环语句
  • echo 命令

思路:

  • 打印九九乘法表不难,难的是如何用 Shell 编程。

脚本

#!/bin/bash

##
# 打印乘法表
# @param $1 第一个参数,表示传入的数字,从 [1, 9] 中任取一个整数表示输出几行的乘法表
##
function print_multiplication_table() 
  # 参数校验,如果参数个数为 0 则给出提示
  if [ $# -eq 0 ]; then
      echo "请输入一个参数!"
      exit
  fi

  # 接收一个参数表示几行乘法表
  local num=$1
  # 双层 for 循环打印乘法表
  for (( i = 1; i <= $num; i++ )); do
      for (( j = 1; j <= $i; j++ )); do
          # 计算 i*j 的结果
          local result=$[$i*$j]
          # -e 表示让制表符生效;-n 表示不换行
          echo -ne "$i*$j=$result\\t"
      done
      # 换行
      echo
  done


##
# 主函数
##
function main() 
  # 在主函数中调用
  print_multiplication_table "$1"


# 调用主函数
main "$1"

测试

执行 ./script006.sh num 脚本,其中 num 可以从 [1, 9] 中取任何一个整数。

以上是关于Linux脚本练习之script006-编写一个脚本,打印任何数的乘法表。的主要内容,如果未能解决你的问题,请参考以下文章

Linux脚本练习之script007-编写一个脚本,输入自己的生日时间(日期格式是:`YYYYMMDD`),计算还有多少天多少个小时是自己的生日。

Linux脚本练习之script068-第二列是否有重复

Linux脚本练习之script025-判断用户输入的参数是否为正整数。

Linux脚本练习之script004-编写一个程序,先查看 `/root/test/logical` 这个名称是否存在,如果不存在,则创建一个文件。使用 `touch` 来创建,创建完成后离开。

Linux脚本练习之script005-从键盘读入 10 个数,显示最大值和最小值。

Linux脚本练习之script079-处理文本