Check if File Exist
FILE=/etc/resolv.conf if test -f "$FILE"; then echo "$FILE exist" fi
FILE=/etc/resolv.conf if [ -f "$FILE" ]; then echo "$FILE exist" fi
FILE=/etc/resolv.conf if [[ -f "$FILE" ]]; then echo "$FILE exist" fi
Check if Directory Exist
FILE=/etc/docker if [ -d "$FILE" ]; then echo "$FILE is a directory" fi
Check if File does Not Exist
FILE=/etc/docker if [ ! -f "$FILE" ]; then echo "$FILE does not exist" fi
Check if Multiple Files Exist
FILE=/etc/docker if [ -f /etc/resolv.conf -a -f /etc/hosts ]; then echo "$FILE is a directory" fi
FILE=/etc/docker if [ -f /etc/resolv.conf && -f /etc/hosts ]; then echo "$FILE is a directory" fi
File test operators
-f
FILE
– True if the FILE exists and is a regular file (not a directory or device).-G
FILE
– True if the FILE exists and has the same group as the user running the command.-h
FILE
– True if the FILE exists and is a symbolic link.-g
FILE
– True if the FILE exists and has set-group-id (sgid) flag set.-k
FILE
– True if the FILE exists and has a sticky bit flag set.-L
FILE
– True if the FILE exists and is a symbolic link.-O
FILE
– True if the FILE exists and is owned by the user running the command.-p
FILE
– True if the FILE exists and is a pipe.-r
FILE
– True if the FILE exists and is readable.-S
FILE
– True if the FILE exists and is socket.-s
FILE
– True if the FILE exists and has nonzero size.-u
FILE
– True if the exists and set-user-id (suid) flag is set.-w
FILE
– True if the FILE exists and is writable.-x
FILE
– True if the FILE exists and is executable.
References
https://linuxize.com/post/bash-check-if-file-exists/