BASH检查命令行参数的字符串值

我试图根据我编写的bash脚本的命令行参数的字符串值采取特定的操作:

$ ./myscript.sh myfile read

我的脚本如下所示:

filename=$1

x=0

for var in "$@"
do
  if [ var == "read" ]
  then
      ((x+=400))
  fi
done

echo $filename
echo $x

upon running ./myscript.sh myfile readI am expecting output of

myfile
400

但是我收到了

myfile
0

我不明白为什么当read是命令行参数时x不能正确更新,任何帮助将不胜感激。

评论