Find out if file exists with conditional expressions
With the help of BASH shell and IF command it is possible to find out if file exists or not. Generally, this is known as conditional expressions. Conditional expressions are used by the [[ compound command and the test and [ builtin commands to test file attributes and perform string and arithmetic comparisons. General syntax:
[ parameter FILE ]
OR
test parameter FILE
Where parameter can be any one of the following:
- -e: Returns true value if file exists
- -f: Return true value if file exists and regular file
- -r: Return true value if file exists and is readable
- -w: Return true value if file exists and is writable
- -x: Return true value if file exists and is executable
- -d: Return true value if exists and is a directory
Examples
Find out if file /etc/passwd file exists or not
Type the following commands: Type the following commands: Save and execute the script: You can use this technique to verify that backup directory and backup source directory exits See example script for more information.
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
$ [ -f /etc/passwd ] && echo "File exists" || echo "File does not exists"
$ [ -f /tmp/fileonetwo ] && echo "File exists" || echo "File does not exists"
$ [ -d /var/logs ] && echo "Directory exists" || echo "Directory does not exists"
$ [ -d /dumper/fack ] && echo "Directory exists" || echo "Directory does not exists"
You can use conditional expressions in a shell script:#!/bin/bash
FILE=$1
if [ -f $FILE ];
then
echo "File $FILE exists"
else
echo "File $FILE does not exists"
fi
$ chmod +x script.sh
$ ./script.sh /path/to/file
$ ./script.sh /etc/resolv.conf
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in other helpful articles:
Discussion on This Article:
Leave a Reply



For me the if statement only works when using the FILE var with quotes like this:
if [ -f "$FILE" ];
script was very userful