意外标记“fi”附近的语法错误

0 scripting linux syntax

我创建了一个非常简单的脚本(见下文),但无法使其正常运行。我总是收到消息说

line 5: syntax error near unexpected token 'fi'
line 5: 'fi'
Run Code Online (Sandbox Code Playgroud)

当我尝试执行此脚本时。

#!/bin/sh
rm /opt/file_name
if $? -ne 0 then
    echo 'error'
fi
exit
Run Code Online (Sandbox Code Playgroud)

如果这有什么不同,我会在 Red Hat Linux 上运行它。

如果有人可以帮助确定 if 语句有什么问题,我将不胜感激。

账单

小智 5

您缺少分号(我不确定它是否可以在没有方括号的情况下使用)。

备择方案:

如果 [[ $? -ne 0 ]];然后

或者

如果 !测试 $? = 0; 然后

或者

如果 [$? -ne 0 ];然后

或者

测试 $? = 0 || echo '错误';

甚至更好:

rm /bla/bla || echo '错误';

(最后一个是你的整个脚本)