[ Syntax error: operand expected (error token is "+") ]
I'm writing a script in bash and I get this error:
./P4.1: line 10: +: syntax error: operand expected (error token is "+")
And this is my code:
#!/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
What's wrong and how do I fix it? Thanks.
Answer 1
Combination of ceving and Tomek's:
#!/bin/bash
read num1 num2 num3
while [ $num1 -lt $num3 ]
do
echo $num1
num1=$((num1+num2))
done
Answer 2
Use round parenthesis for numeric computations:
num1=$((num1 + num2))
Answer 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
also, quote and brace your variables. :D