Bash脚本无法正常工作

时间:2013-03-12 04:47:17

标签: bash

我正在编写脚本来打印乘法表。

#!/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

它给出了语法错误。

1 个答案:

答案 0 :(得分:4)

逃脱*如下

while [ $a -le "10" ]
do
    tmp=`expr $a \* $1`
    printf "%d x %2d = %3d\n" $1 $a $tmp
    a=`expr $a + 1`
done

以上代码中的plz note \ * 这里bash将*解释为狂野角色。所以你需要将它转义为文字星(即乘法。如果你不想逃避*那么你可以使用(())执行arithematic操作。

while [ $a -le "10" ]
do
    ((tmp = $a * $1))
    printf "%d x %2d = %3d\n" $1 $a $tmp
    ((a++))
done