Check if file exists and continue else exit in Bash

I have a script that is one script in a chain of others that sends an email.

At the start of the script I want to check if a file exists and continue only if it exists, otherwise just quit.

Here is the start of my script:

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

However I keep getting a message saying:

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

Any pointers?


Change it to this:

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

A conditional isn't a loop, and there's no place you need to jump to. Execution simply continues after the conditional anyway.

(I also removed the needless && . Not that it should happen, but just in case the echo fails there's no reason not to exit.)


Yes. Drop the else continue . It's entirely unneeded.


Your problem is with the continue line which is normally used to skip to the next iteration of a for or while loop.

Therefore just removing the else part of your script should allow it to work.

链接地址: http://www.djcxy.com/p/24138.html

上一篇: 如何避免.pyc文件?

下一篇: 检查文件是否存在,并继续在Bash中退出