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.