想要的样子
直接上shell
#!/bin/bash
echo "nutil循环--------------------------------------------------------------------------
a=1
b=1
until ((a>9)) #until 和while相反,条件假的执行,条件真就done结束
do
until ((b>a))
do
let "c=a*b"
echo -n "$a*$b=$c "
let b++
done
let a++
let b=1
echo ""
done
echo "while循环--------------------------------------------------------------------------"
d=1
e=1
while ((d<10))
do
while ((e<d+1))
do
let f=d*e
echo -n "$d*$e=$f "
let e++
done
let d++
e=1
echo -e
done
echo "for循环--------------------------------------------------------------------------"
for i in {1..10}
do
for y in `seq 1 $i`
do
let "z=x*y"
echo -n "$x*$y=$z "
done
echo -e
done
如果执行报错了如下图
给文件加上可执行权限就可以解决了,根本原因就是执行方式不同,调用的解释器不同
使用awk也可以写99乘法表
seq 9| sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}'