Bash – Check If File Exists
Bash Script to Check If File Exists – To check if file exists in bash scripting, we can use [ -a FILE ] and [ -e FILE ] expressions in bash if statement. [-e FILE] is preferred as [-a FILE] is depreciated.
In this tutorial, we will go through Bash Script examples to check if file exists covering both the above said expressions.
Examples
- Example 1 – Using [ -a FILE ] (Depreciated method to check in bash if file exists.)
- Example 2 – Using [ -e FILE ] (Preferred method to check in bash if file exists.)
We shall use a sample.txt file for this example
arjun@arjun-VPCEH26EN:/home/tutorialkart$ ls -lt
total 125012
-rw-r--r-- 1 root root 12 Oct 5 09:35 sample.txt
Example 1 – Using [ -a FILE ] expression with if statement
For this example, there is a file /home/tutorialkart/sample.txt present and /home/tutorialkart/dummy.txt not present. We shall demonstrate the result with the help of following example.
#!/bin/bash
# Scenario - File exists
if [ -a /home/tutorialkart/sample.txt ];
then
echo "sample.txt - File exists."
else
echo "sample.txt - File does not exist."
fi
# Scenario - File does not exists
if [ -a /home/tutorialkart/dummy.txt ];
then
echo "dummy.txt - File exists."
else
echo "dummy.txt - File does not exist."
fi
When the above bash shell script is run in Terminal
arjun@arjun-VPCEH26EN:~/workspace/bash$ ./bash-script-if-file-exists
sample.txt - File exists.
dummy.txt - File does not exist.
Example 2 – Using [ -e FILE ] expression with if statement
We shall use the same files as in Example 1, but with a new expression [ -e FILE ]
#!/bin/bash
# Scenario - File exists
if [ -e /home/tutorialkart/sample.txt ];
then
echo "sample.txt - File exists."
else
echo "sample.txt - File does not exist."
fi
# Scenario - File does not exists
if [ -e /home/tutorialkart/dummy.txt ];
then
echo "dummy.txt - File exists."
else
echo "dummy.txt - File does not exist."
fi
When the above bash shell script is run in Terminal
arjun@arjun-VPCEH26EN:~/workspace/bash$ ./bash-script-if-file-exists-2
sample.txt - File exists.
dummy.txt - File does not exist.
Conclusion
In this Bash Tutorial – Bash – Check If File Exists, we have learnt to check if a specified file exists using [-e FILE] condition.