The test command is used to perform checks and comparisons on files and values. The -e option tests if a given path exists, regardless of its type (file, directory, link, etc.). The -f option tests if a given path exists and is a regular file, not a directory or a special file. For example, if we have a directory named dir and a file named file, we can use the test command as follows: test -e dir && echo "dir exists" dir exists test -f dir && echo "dir is a regular file" (no output) test -e file && echo "file exists" file exists test -f file && echo "file is a regular file" file is a regular file References: https://www.howtoforge.com/linux-test-command/ https://www.computerhope.com/unix/bash/test.htm