我正在编写脚本来打印乘法表。
#!/bin/bash
a=1
while [ $a -le "10" ]
do
tmp=`expr $a * $1`
printf "%d x %d = %d\n" $1 $a $tmp
a=`expr $a + 1`
done
它给出了语法错误。
我正在编写脚本来打印乘法表。
#!/bin/bash
a=1
while [ $a -le "10" ]
do
tmp=`expr $a * $1`
printf "%d x %d = %d\n" $1 $a $tmp
a=`expr $a + 1`
done
它给出了语法错误。
转义 * 如下
while [ $a -le "10" ]
do
tmp=`expr $a \* $1`
printf "%d x %2d = %3d\n" $1 $a $tmp
a=`expr $a + 1`
done
请注意上面代码中的\*。
这里 bash 将 * 解释为通配符。因此,您需要将其转义为文字星(即乘法。如果您不想转义 * 则可以使用执行算术运算的 (( )) 。
while [ $a -le "10" ]
do
((tmp = $a * $1))
printf "%d x %2d = %3d\n" $1 $a $tmp
((a++))
done