if文のサンプルシェルスクリプト・ファイル・ディレクトリ編 †bashを利用しif .. then .. fi を利用し、ファイルおよびディレクトリの有無を調べるサンプルシェルスクリプトを以下に記します。 ディレクトリかどうか調べる †ディレクトリかどうかは、-dオプションを利用します。 以下のサンプルシェルスクリプトは、fooディレクトリを作成し、-dオプションを使用してディレクトリの有無を確認しています。 #/bin/bash mkdir foo if [ -d foo ]; then echo "foo directory found." fi if [ -f foo ]; then echo "foo file found." fi rmdir foo if [ ! -d foo ]; then echo "foo directory not found." fi
ファイルでもディレクトリでも存在しているかどうかを調べる †ファイルでもディレクトリでも存在しているかどうかのチェックは、-eオプションを利用します。 #/bin/bash mkdir foo touch bar if [ -e foo ]; then echo "foo found." if [ -d foo ]; then echo "foo is directory." fi if [ -f foo ]; then echo "foo is file." fi fi if [ -e bar ]; then echo "bar found." if [ -d bar ]; then echo "bar is directory." fi if [ -f bar ]; then echo "bar is file." fi fi rmdir foo rm bar
ファイルが存在しているかどうかを確認する †上記の例で既に記述していますが、-fオプションによりファイル(ディレクトリを除く)の有無を確認することができます。 #/bin/bash touch foo if [ -f foo ]; then echo "foo file found." fi if [ -d foo ]; then echo "foo directory found." fi rm foo if [ ! -f foo ]; then echo "foo file not found." fi 関連記事 †
|