外观
九九乘法表生成器
一个简单实用的 Shell 脚本,在终端输出经典三角形格式的九九乘法表。
功能说明
这个脚本可以快速生成并显示九九乘法表,主要特性:
- 🎯 经典三角形格式 - 左下三角形显示,符合传统习惯
- 📐 自动对齐 - 使用 printf 格式化输出,保持整齐美观
- ⚡ 即开即用 - 无需任何依赖,直接运行
- 💡 代码简洁 - 适合学习 Shell 脚本的基础示例
输出效果
运行脚本后会输出如下格式的乘法表:
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环境要求
运行环境
- 操作系统: Linux / macOS / WSL(Windows Subsystem for Linux)
- Shell: Bash 4.0+
依赖项
无需额外依赖,使用 Bash 内置功能即可运行。
安装方法
方式一:直接下载
# 下载脚本
wget https://cnb.cool/merma/ScriptsHub/-/raw/main/scripts/shell/multiplication_table.sh
# 添加执行权限
chmod +x multiplication_table.sh方式二:使用 curl
# 下载脚本
curl -O https://cnb.cool/merma/ScriptsHub/-/raw/main/scripts/shell/multiplication_table.sh
# 添加执行权限
chmod +x multiplication_table.sh方式三:克隆仓库
git clone https://cnb.cool/merma/ScriptsHub.git
cd ScriptsHub/scripts/shell
chmod +x multiplication_table.sh方式四:手动创建
直接复制下方的脚本源码,创建文件并保存。
使用方法
基本用法
# 运行脚本
./multiplication_table.sh或者:
# 使用 bash 命令运行
bash multiplication_table.sh输出到文件
# 保存到文本文件
./multiplication_table.sh > multiplication_table.txt
# 查看保存的文件
cat multiplication_table.txt在其他脚本中调用
#!/bin/bash
echo "生成九九乘法表:"
echo "=================="
./multiplication_table.sh
echo "=================="脚本源码
点击展开查看完整源码
#!/bin/bash
# 99乘法表脚本
for i in {1..9}; do
for j in {1..9}; do
# 只打印 j <= i 的部分,形成三角形式的乘法表(经典格式)
if [ $j -le $i ]; then
# 使用 printf 格式化输出,保持对齐
printf "%d*%d=%-2d " $j $i $((j * i))
fi
done
echo # 换行
done在 CNB 查看: multiplication_table.sh
代码解析
核心逻辑
for i in {1..9}; do # 外层循环:行数(1-9)
for j in {1..9}; do # 内层循环:列数(1-9)
if [ $j -le $i ]; then # 只打印 j <= i 的部分(三角形)
printf "%d*%d=%-2d " $j $i $((j * i)) # 格式化输出
fi
done
echo # 每行结束后换行
done关键技术点
嵌套循环
- 外层循环控制行(被乘数)
- 内层循环控制列(乘数)
条件判断
if [ $j -le $i ]确保只打印下三角部分- 形成经典的阶梯式乘法表
格式化输出
printf "%d*%d=%-2d "%-2d左对齐,保留2位宽度- 空格分隔每个乘法式
算术运算
$((j * i))计算乘积
使用场景
- 📚 教学演示 - 帮助学习乘法表或 Shell 编程
- 🎓 学习材料 - 作为 Shell 脚本入门示例
- 🖨️ 快速参考 - 需要查看乘法表时快速生成
- 🔧 模板参考 - 学习嵌套循环和格式化输出
扩展功能
你可以基于这个脚本进行扩展:
示例 1: 自定义范围
#!/bin/bash
# 支持自定义乘法表范围
MAX=${1:-9} # 默认为9,可通过参数指定
for i in $(seq 1 $MAX); do
for j in $(seq 1 $MAX); do
if [ $j -le $i ]; then
printf "%d*%d=%-3d " $j $i $((j * i))
fi
done
echo
done使用方法:
./multiplication_table_custom.sh 12 # 生成12x12乘法表示例 2: 完整矩形格式
#!/bin/bash
# 完整的9x9矩形乘法表
for i in {1..9}; do
for j in {1..9}; do
printf "%d*%d=%-2d " $j $i $((j * i))
done
echo
done示例 3: 添加颜色
#!/bin/bash
# 带颜色的乘法表
for i in {1..9}; do
for j in {1..9}; do
if [ $j -le $i ]; then
# 使用 ANSI 颜色代码
printf "\033[1;32m%d*%d=%-2d\033[0m " $j $i $((j * i))
fi
done
echo
done注意事项
提示
- 脚本在大多数 Linux 发行版和 macOS 上可以直接运行
- Windows 用户需要使用 WSL 或 Git Bash
- 确保使用 Bash(不是 sh),因为脚本使用了 Bash 特有的语法
兼容性
{1..9}语法需要 Bash 3.0+- 如果使用较老的 sh,请使用
seq命令:$(seq 1 9)
常见问题
Q: 在 Windows 上可以运行吗?
A: 可以,但需要:
- 安装 WSL(Windows Subsystem for Linux)
- 使用 Git Bash
- 使用 Cygwin
Q: 如何修改输出格式?
A: 修改 printf 格式字符串:
%-2d改为%-3d增加宽度- 调整空格数量改变间距
- 添加其他分隔符
Q: 运行提示 "Permission denied" 怎么办?
A: 需要添加执行权限:
chmod +x multiplication_table.shQ: 可以生成其他范围的乘法表吗?
A: 可以!修改 {1..9} 为其他范围,例如:
{1..12}生成 12x12 乘法表{5..9}生成 5-9 的乘法表
学习价值
这个脚本虽然简单,但包含了 Shell 编程的多个重要概念:
- ✅ 循环结构(for 循环)
- ✅ 条件判断(if 语句)
- ✅ 算术运算
- ✅ 格式化输出(printf)
- ✅ 变量使用
非常适合作为 Shell 脚本入门的学习材料!
更新日志
v1.0.0 (2024-10-16)
- ✨ 初始版本发布
- 📐 实现经典三角形格式输出
- 💡 代码简洁清晰,适合学习
相关资源
许可证
MIT License
提示: 这是一个教学向的基础脚本,欢迎在此基础上进行修改和扩展!