ホームページ >運用・保守 >Linuxの運用と保守 >Bash シェル: ファイルまたはディレクトリが存在するかどうかをテストする

Bash シェル: ファイルまたはディレクトリが存在するかどうかをテストする

不言
不言オリジナル
2019-03-22 16:03:135813ブラウズ

bash プログラミングを使用する場合、多くの場合、ファイルが既に存在するかどうかを確認し、新しいファイルを作成し、そのファイルにデータを挿入する必要があります。場合によっては、他のスクリプトから他のスクリプトを実行する必要もあります。この記事では、Bash Shell: ファイルまたはディレクトリが存在するかどうかのテストについて紹介します。

Bash シェル: ファイルまたはディレクトリが存在するかどうかをテストする

1. bash シェル: ファイルが存在するかどうかをテストします。

コンテンツを追加する必要がある場合、またはファイルからファイルを作成する必要がある場合は、脚本。まず、ファイルがすでに存在していることを確認してください。たとえば、私のスクリプトの 1 つは file/tmp/testfile.log にログを作成するので、そのファイルが存在することを確認する必要があります。

#!/bin/bash
 
if [ -f /tmp/testfile.log ]
then
    echo "File exists"
fi

上記のステートメントは、以下に示すように test キーワードを使用して記述することもできます。

#!/bin/bash
 
if test -f /tmp/testfile.log
then
    echo "File exists"
fi

または、以下に示すように 1 行で記述することもできます。これは、シェル スクリプトを作成するときに非常に便利です。

[ -f /tmp/testfile.log ] && echo "File exists"

上記のコマンドに他の部分を追加します

[ -f /tmp/testfile.log ] && echo "File exists" || echo "File not exists"

2. bash シェル: ディレクトリが存在するかどうかをテストします

ファイルを作成する必要がある場合があります。ディレクトリ内にあるか、ディレクトリが必要です。私たちは皆、そのディレクトリが存在することを確認する必要があります。たとえば、/tmp/mydir が存在するかどうかを確認します。

#!/bin/bash
 
if [ -d /tmp/mydir ]
then
    echo "Directory exists"
fi

上記のステートメントは、以下に示すように test キーワードを使用して記述することもできます

#!/bin/bash
 
if test -d /tmp/mydir
then
    echo "Directory exists"
fi

または、以下に示すように 1 行で記述することもできます

[ -d /tmp/mydir ] && echo "Directory exists"

3、Bash シェル: ファイル ディレクトリが存在しない場合は作成します。

これは、ファイルを作成する前にファイルが存在するかどうかを確認する最良の方法です。存在しないと、エラー メッセージが表示される可能性があります。これは、実行時にシェル スクリプトに必要なファイルまたはディレクトリを作成する場合に便利です。

ファイル:

[ ! -f /tmp/testfile.log ] && touch /tmp/testfile.log

ディレクトリ:

1    [ ! -d /tmp/mydir ] && mkdir -p /tmp/mydir

この記事はすべてここにあります。その他の興味深いコンテンツについては、PHP 中国語に注目してください。 Net の Linux チュートリアル ビデオ コラム!

以上がBash シェル: ファイルまたはディレクトリが存在するかどうかをテストするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。