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

不言
リリース: 2019-03-22 16:03:13
オリジナル
5779 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート