关于bash:意外令牌`fi’Linux附近的语法错误

syntax error near unexpected token `fi' Linux

本问题已经有最佳答案,请猛点这里访问。

我不得不尝试编写一个代码来自动化steamcmd,但它总是给我带来以下错误:

1
syntax error near unexpected token 'fi'

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
STEAMCMDDOWN="https://steamcdn-a.akamihd.net/client/installer/steamcmd_linux.tar.gz"

STEAMDIR="~/steamcmd"

if [! -d"$STEAMDIR" ]; then
  mkdir"~/steamcmd"
  cd"~/steamcmd"
else
  if [! -f"steamcmd.sh" ]; then
    wget"$STEAMCMDDOWN"
    tar +xf"steamcmd_linux.tar.gz"
  else
    echo"steamcmd installed"
  fi
  exit
fi

有人能解释一下我为什么会犯这个错误吗?


[是一个命令(test的同义词),因此后面需要有一些空间:

1
if [ ! -d"$STEAMDIR" ]; then ...