シェルスクリプトでファイルやディレクトリの存在をチェックする方法
目次
スポンサードリンク
Linuxのシェルスクリプトでファイルやディレクトリの存在をチェックする方法を解説します。既にファイルやフォルダが存在する場合は何もせず、存在しない場合は新たに作成したいときに役立つ方法です。
ファイルの存在をチェックする方法
ifコマンドで判定する条件式として、testコマンドや [ コマンドが使えますが、このサンプルでは、[ コマンドの -f オプションを使用しました。-f オプションは指定したファイルが存在するかチェックすることができます。以下はサンプルコードです。
#!/bin/bash
FILE_PATH=/tmp/filename
if [ -f "$FILE_PATH" ]; then
# ファイルが存在した時の処理
else
# ファイルが存在しない時の処理
fi
exit 0
ディレクトリの存在をチェックする方法
ディレクトリの場合は、ファイルのチェックとほぼ同様ですが、[ コマンドの -d オプションを使います。
#!/bin/bash
DIR_PATH=/tmp/dir
if [ -d "$DIR_PATH" ]; then
# ディレクトリが存在した時の処理
else
# ディレクトリが存在しない時の処理
fi
exit 0
ファイルとディレクトリ両方の存在をチェックする方法
-e オプションを使うとファイルかディレクトリのどちらかが存在していても 結果が真になります。ファイルかディレクトリかを問わず、存在チェックしたいときに使えるオプションです。
#!/bin/bash
PATH=/tmp/path
if [ -d "$PATH" ]; then
# ファイルかディレクトリが存在した時の処理
else
# ファイルかディレクトリが存在しない時の処理
fi
exit 0
シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。
リンク
最短3時間で覚えるLinuxシェルスクリプト
こちらは、シェルスクリプトの基本的な書き方、デバッグ方法、if, case, while, forなど基本的な制御構文について書かれています。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。
リンク
Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- カーネル更新やパッケージのパッチ適用後、OSの再起動が必要か確認するLinuxコマンド(needs-restarting)
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法