语法错误:操作数预期(错误标记为“+”)

时间:2013-11-24 16:03:06

标签: bash unix

我正在用bash编写脚本,我收到了这个错误:

./P4.1: line 10: +: syntax error: operand expected (error token is "+")

这是我的代码:

#!/bin/bash
read string
echo $string >| temp
num1= cut -d" " -f1 temp
num2= cut -d" " -f2 temp
num3= cut -d" " -f3 temp
while [ $num1 -gt $num3 ]
do
        echo $num1
        num1=$[$num1+$num2]
done

出了什么问题,我该如何解决? 感谢。

3 个答案:

答案 0 :(得分:9)

Ceving和Tomek的组合:

#!/bin/bash
read num1 num2 num3
while [ $num1 -lt $num3 ]
do
    echo $num1
    num1=$((num1+num2))
done

答案 1 :(得分:4)

使用圆括号进行数值计算:

num1=$((num1 + num2))

答案 2 :(得分:0)

#!/bin/bash
read string
echo "${string}" >| temp
num1= cut -d" " -f1 temp
num2= cut -d" " -f2 temp
num3= cut -d" " -f3 temp
while [ "${num1}" -gt "${num3}" ]
do
    echo "${num1}"
    num1=$(expr "${num1}" + 1)
done

另外,引用和支撑你的变量。 :d