bash:directories:check_if_a_directory_exists
BASH - Directories - Check if a directory exists
To check if a directory exists:
if [ -d "$DIRECTORY" ]; then # Control will enter here if $DIRECTORY exists. fi
WARNING: A symbolic link to a directory will also not work, for example:
ln -s "$ACTUAL_DIR" "$SYMLINK" if [ -d "$SYMLINK" ]; then rmdir "$SYMLINK" fi
Will produce the error message:
rmdir: failed to remove `symlink': Not a directory
So symbolic links may have to be treated differently, if subsequent commands expect directories:
if [ -d "$LINK_OR_DIR" ]; then if [ -L "$LINK_OR_DIR" ]; then # It is a symlink! # Symbolic link specific commands go here. rm "$LINK_OR_DIR" else # It's a directory! # Directory command goes here. rmdir "$LINK_OR_DIR" fi fi
To check if a directory doesn't exist:
if [ ! -d "$DIRECTORY" ]; then # Control will enter here if $DIRECTORY doesn't exist. fi
bash/directories/check_if_a_directory_exists.txt · Last modified: 2021/01/26 12:06 by peter