if [ -a ~/.bash_aliases ]
then
source ~/.bash_aliases
fiif [ -e ~/.bash_aliases ]
then
source ~/.bash_aliases
fiThe POSIX standard way to check whether a file exists is
[ -e file ].
Bash and Ksh have historically allowed using -a, but
this has no benefit and some potential downsides. For example, in Bash
[ -a file ] is true when the file exists, but
[ ! -a file ] is also true, and unconditionally so, because
-a is treated as logical "and" between non-empty
strings.
Avoid the ambiguity entirely by always using the standard, portable
-e.
None
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.