Синтаксическая ошибка: ожидаемый операнд (токен ошибки - "+" )

Я пишу script в 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

Что не так, и как я могу это исправить? Спасибо.

Ответ 1

Сочетание ceving и Tomek's:

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

Ответ 2

Используйте круглые скобки для числовых вычислений:

num1=$((num1 + num2))

Ответ 3

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