语法错误:"then"意外(预期"fi")



我正在为一个文件编写shell脚本,它给了我这个错误:

我确信语法是正确的。我不知道的错误是什么

if[ "$check" = "rename" ]; then
      echo "now "
else
      echo "blub"
fi

我知道这是一个重复的问题。我也尝试过这个(第一个解决方案的替代部分)(.它仍然不适用于我

关键字if.后面缺少一个空格

if [ $check == "rename" ]; then

应该起作用。

当我意外地用#!/bin/sh而不是#!/bin/bash运行脚本时,我遇到了这种错误。

@Lenar Hoyt的回答让我找到了类似问题的解决方案。在我的情况下,我不小心在脚本的开头插入了空格,所以不是

#!/bin/bash

我有

 #!/bin/bash

所以可能使用了"错误"的外壳。我一移开空间,它就起作用了。

最新更新