Bashでファイルやディレクトリの存在を確認する

“if test”による確認方法

ファイルやディレクトリの存在を確認するには、以下の構文を利用する。

「パス」の部分に、チェックしたいファイルやディレクトリのパスを指定。(実際は、testコマンドが実行される)

ファイル”test.txt”と、ディレクトリ”testdir”を用意。

以下、サンプル。

実行結果。

 

ファイルかディレクトリかの確認

パスで指定される内容が、ファイルなのか、ディレクトリなのかをチェックすることも可能。

オプションチェックの内容
-fパスで指定される内容がファイルかどうか
-dパスで指定される内容がディレクトリかどうか

以下、サンプル。

実行結果。

感嘆符(!)を使うと、真偽を反転できる。

実行結果。

 

ワイルドカードを指定してファイルを確認

ファイル名にワイルドカードを指定して、ファイルを確認したい場合(例えば、”.txt”という拡張子を持つファイルが存在するか?など)。

以下、サンプル。

“*.txt”に該当するファイルが存在する場合、”ls *.txt”は何らかの文字列を返す為、if文の判定は「真」となる。

“*.txt”に該当するファイルが存在しない場合はエラーが発生し、”/dev/null”にリダイレクトされる。

実行結果。

 

おすすめ

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください