if statement error in bash [duplicate]

2019-01-09 16:32发布

问题:

This question already has an answer here:

  • How do I compare two string variables in an 'if' statement in Bash? [duplicate] 12 answers
i=0
for f in `awk '{print $1}' config.list`
do
    echo "i value is $i"
    if ["$i" = "0"]
    then
        echo "here"
        i=$((i+1))
        continue 
    fi
    arr[i]=$f  
    i=$((i+1))
done

In the above bash script I am getting an error where i have used the if statement it looks like this

./script.sh: line 5: [0: command not found

Kindly point me out what could be my mistake.

回答1:

Use if [ "$i" = "0" ]

In bash, you need spaces around [ and ] in if conditions



回答2:

You are getting this error, because Bash if statements require the addition of spaces around the operands:

if [ "$i" = "0" ]


标签: linux bash