Kenneth Han
Kenneth Han

Reputation: 37

bash while [: too many arguments

#!/bin/bash

number=0
while [ $number -lt 10 ];do
echo "$number"
number='expr $number + 1'
done
echo 'script complete!'

=> this results in

0
./while.sh: line 4: [: too many arguments
script complete!

I've tried ...

while [ $number -lt 10 ]

to

while [ '$number' -lt 10 ]

and

while [[ $number -lt 10 ]]

which doesn't work at all..

Upvotes: 2

Views: 732

Answers (1)

vidit
vidit

Reputation: 6451

You are using wrong quotes for expression evaluation; single quote(') instead of backquote(`). Try this..

number=`expr $number + 1`

Upvotes: 2

Related Questions