点击查看代码
#!/bin/bash
# ==========================================================
# 函数:检查输入合法性
# 参数:$1 – 待检查的数字
# 返回:0=合法,1=非法
# ==========================================================
check_input() {
local n="$1"
if [ "$#" -ne 1 ] || \
! [ "$n" -ge 1 ] || \
! [ "$n" -le 9 ] 2>/dev/null; then
return 1
fi
return 0
}
# ==========================================================
# 函数:打印 N×N 乘法表
# 参数:$1 – 已验证合法的 N(1-9)
# ==========================================================
print_table() {
local n="$1"
local i=1
while [ "$i" -le "$n" ]; do
local j=1
local line=""
while [ "$j" -le "$i" ]; do
local result="$(( i * j ))"
line="${line}${j}×${i}=${result} "
j="$(( j + 1 ))"
done
echo "$line"
i="$(( i + 1 ))"
done
}
# ==========================================================
# 主函数:入口
# ==========================================================
main() {
if ! check_input "$@"; then
echo "用法: $0 <1-9的数字>"
exit 1
fi
print_table "$1"
}
main "$@"