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] 中取任何一个整数。

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值