检查文件是否存在,然后继续在Bash中退出

时间:2012-02-05 01:23:10

标签: bash if-statement continue

我有一个脚本,它是发送电子邮件的其他链中的一个脚本。

在脚本开始时,我想检查一个文件是否存在,只有当文件存在时才继续,否则只是退出。

这是我的剧本的开头:

if [ ! -f /scripts/alert ];
then
    echo "File not found!" && exit 0
else
        continue
fi

但是我不断收到一条消息:

line 10: continue: only meaningful in a `for', `while', or `until' loop

任何指针?

3 个答案:

答案 0 :(得分:33)

将其更改为:

{
if [ ! -f /scripts/alert ]; then
    echo "File not found!"
    exit 0
fi
}

条件不是循环,没有你需要跳转的地方。无论如何,执行只是在条件之后继续。

(我也删除了不必要的&&。并非它应该发生,但是如果echo失败,则没有理由不退出。)

答案 1 :(得分:2)

您的问题出在continue行,该行通常用于跳转到forwhile循环的下一次迭代。

因此,只需删除脚本的else部分即可使其正常工作。

答案 2 :(得分:1)

是。删除else continue。这完全不需要。