Checking existence of files and directories on UNIX using shell scripting

Having had a UNIX shell script attempt to copy a non-existent file, I decided to take another look for ways to test the existence of a file. For directory existence checking, I was testing for the return code from the cd command and I suppose that the ls command might help for files. However, I did find a better way:

if [ -f $filename ]


echo "This filename [$filename] exists"

elif [ -d $dirname ]


echo "This dirname [$dirname] exists"


echo "Neither [$dirname] or [$filename] exist"


The -d and -f flags within the evaluation expressions test for existence of directories and files, respectively. One gotcha is that those spaces within the brackets are important too but it is a very way of doing what I wanted.

1 comment

Pingback: | Detecting file ownership in Korn shell scripts

Leave a Reply