How can I check a file exists and execute a command if not?

If it is bash scripting you are wondering about, something like this would work:

if [ ! -f "$FILENAME" ]; then
   python daemon.py restart
fi

A better option may be to look into lockfile


test -f filename && daemon.py restart || echo "File doesn't exists"

[ -f /tmp/filename.pid ] || python daemon.py restart

-f checks if the given path exists and is a regular file (just -e checks if the path exists)

the [] perform the test and returns 0 on success, 1 otherwise

the || is a C-like or, so if the command on the left fails, execute the command on the right.

So the final statement says, if /tmp/filename.pid does NOT exist then start the daemon.

Tags:

Linux

Shell