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.