语法错误:“then”意外(期待“fi”)

时间:2012-07-24 00:38:54

标签: shell if-statement

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

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

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

我知道它是重复的question。我也试过这个(第一个解决方案的替代部分)。 :(。它仍然不适合我

3 个答案:

答案 0 :(得分:7)

您在关键字if后缺少空格。

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

应该有用。

答案 1 :(得分:0)

我不小心用#!/bin/sh而不是#!/bin/bash运行脚本时遇到了这种错误。

答案 2 :(得分:0)

@Lenar Hoyt的回答使我想到了类似问题的解决方案。就我而言,我不小心在脚本的开头插入了空格,所以代替了

#!/bin/bash

我有

 #!/bin/bash

...因此可能使用了“错误的”外壳。一旦我删除了空间,它就会起作用。