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?
Your problem is with the
continue
line which is normally used to skip to the next iteration of afor
orwhile
loop.Therefore just removing the
else
part of your script should allow it to work.Change it to this:
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 theecho
fails there's no reason not to exit.)Yes. Drop the
else continue
. It's entirely unneeded.