我创建了一个非常简单的脚本(见下文),但无法使其正常运行。我总是收到消息说
line 5: syntax error near unexpected token 'fi'
line 5: 'fi'
当我尝试执行此脚本时。
#!/bin/sh
rm /opt/file_name
if $? -ne 0 then
echo 'error'
fi
exit
如果这有什么不同,我会在 Red Hat Linux 上运行它。
如果有人可以帮助确定 if 语句有什么问题,我将不胜感激。
账单
您缺少分号(我不确定它是否可以在没有方括号的情况下使用)。
备择方案:
或者
或者
或者
甚至更好:
(最后一个是你的整个脚本)
这是一个非常方便的选择。“test”命令本身就是一个类似“rm”的命令。它向“if”发送一个返回码:如果成功则返回 0,如果失败则返回 1 或更大。所以不要检查特殊 $? 中的返回码?变量,你可以这样做:
您也可以通过执行以下操作来否定 if:
在 if 语句的末尾需要一个分号以及括号:
if
您需要在and之间使用分号或换行符then
,即或者