How can I determine whether a file exists in Bash? Conversely, how can I test that it does not exist?
We can check whether a file exists using the
test command-line utility:
if test -f /path/to/file; then echo "File exists." fi
To check whether a file does not exist, we can negate the condition with the NOT logical operator,
if ! test -f /path/to/file; then echo "File does not exist." fi
test command is used frequently in Bash expressions, we can write it as
 rather than typing out
if ! [ -f /path/to/file ]; then echo "File does not exist." fi
-f flag tests whether the provided filename exists and is a regular file. To test for directories instead, we can use the
-d flag. To test for both files and directories, we can use the
More information about
test can be found on its manual page, accessible by typing
man test into the terminal.