linux - 意外标记附近的语法错误 `fi' Linux

标签 linux bash shell

<分区>

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

syntax error near unexpected token 'fi'

代码:

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 的同义词),所以后面需要有一些空格:

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

关于linux - 意外标记附近的语法错误 `fi' Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38399543/

相关文章:

python - 在我的机器上保存多播消息

linux - shell 脚本由 crontab 运行但没有输出

linux - 如何提取字符串和它之前的字符之间的文本?

linux - Bash 引号禁止转义

linux - 在 bash、CentOS 中验证 IP

python - 从 python 代码调用 shell 脚本,没有任何返回值 (0) 或换行符

linux - Awk 将索引与子字符串一起使用

linux - 如何防止 Linux 虚拟机在 VMWare 上关闭/注销?

c - 为什么我们在实现对齐 malloc 时使用位运算符 & 和 ~ 而不是数学运算符 %?

linux - 用sed替换多行变量