パスが存在するか否か、ファイルか否か、ディレクトリか否かを調べるには
path=/usr/local/bin if [ -a $path ]; then echo $path is exists if [ -f $path ]; then echo $path is exists else if [ -d $path ]; then echo $path is directory else echo $path does not exists fi
実行結果
takuya@air:~$ bash f_test.sh /usr/local/bin is exists /usr/local/bin is directory
コレをつかって、bashrcでエラーを出さずに書くことができます。
存在確認 -a : 該当パスの存在を確認する
path=/usr/local/bin if [ -a $path ]; then echo $path is exists fi
ファイル判定 -f :該当パスがファイルかどうか判定する
path=/usr/local/bin if [ -f $path ]; then echo $path is file fi
ディレクトリ判定 -d : 該当パスがディレクトリかどうか判定する
path=/usr/local/bin if [ -d $path ]; then echo $path is directory fi
ファイルか否かを調べるには
path=/usr/local/bin if [ ! -f $path ]; then echo $path is not file fi
ディレクトリか否かを調べるには
path=/usr/local/bin if [ ! -d $path ]; then echo $path is not file fi
非存在を調べるには
path=/usr/local/bin if [ ! -a $path ]; then echo $path is not file fi