Bashおよびシェルスクリプトを使用する場合、ディレクトリまたはファイルがファイルシステムに存在するかどうか。
この条件に基づいて、スクリプトを終了したり、たとえばエンドユーザーに警告メッセージを表示したりできます。
ファイルまたはディレクトリがBashに存在する場合は、「Bashテスト」を使用します。
このチュートリアルでは、ファイルまたはディレクトリがBashスクリプトに存在するかどうかを確認する方法を学習します。
目次
ファイルが存在するかどうかを確認する
Bashにファイルが存在するかどうかを確認するため、(ファイルの場合)「-f」オプションを使用して、チェックするファイルを指定する必要があります。
たとえば、次のようにしましょう。ファイル「/ etc / passwd」がファイルシステムに存在するかどうかを確認したい。
スクリプトでは、次のように記述します。ステートメント。
短いフォームを使用してファイルの存在を確認する
場合によっては、ファイルがBashシェルに直接存在するかどうかを確認する必要があります。
短い形式を使用してファイルがBashに存在するかどうかを確認するには、括弧内に「-f」オプションを指定し、成功した場合に実行するコマンドを追加します。
前に使用した例を使用して、「/ etc / passwd」ファイルが短い形式で存在するかどうかを確認する場合は、次のコマンドを記述します
では、このコマンドはどのように機能しますか?
短い形式は終了ステータスと密接に関連しています。
Bashでコマンドを実行すると、常にエラーステータス:0で終了します。エラーの場合、およびエラーの場合は0より大きい数値(1、2、。6など)
この場合、「& &」構文は、左側のコマンドの終了ステータスがゼロに等しい:この場合、右側のコマンドが実行されます。それ以外の場合は実行されません。
ヒント:できます最新のコマンド実行の終了ステータスを確認するには、「echo $ {?}」を使用します
複数のファイルを確認しています
Inファイルシステムに複数のファイルが存在するかどうかを確認したい場合があります。
Bashに複数のファイルが存在するかどうかを確認するには、「-f」フラグを使用して、確認するファイルを指定します。 「& &」演算子で区切ります。
ファイルが存在しないかどうかを確認する
一方、ファイルがファイルシステムに存在しないかどうかを確認することもできます。
ファイルが存在しないかどうかを確認するためBashを使用するには、「!」を使用する必要があります記号の後に「-f」オプションと確認するファイルが続きます。
同様に、すばやく確認する場合は、短い形式を使用できます。ファイルが端末に直接存在しない場合。
「||」を使用して、ファイルが存在しないかどうかを確認することもできます。演算子。
「||」オペレーターは、左側のコマンドが失敗した場合(つまり、ステータスがゼロより大きい状態で終了した場合)にのみ右側のコマンドを実行します。
「||」を使用してファイルが存在しないかどうかをテストします。演算子の場合は、「-f」フラグを使用して存在するかどうかを確認し、失敗した場合に実行するコマンドを指定します。
ディレクトリが存在するかどうかを確認する
Bashにディレクトリが存在するかどうかを確認するには、「-d」オプションを使用して、確認するディレクトリ名を指定する必要があります。
例として、ディレクトリ/ etcがシステムに存在するかどうかをBashで確認したいとします。
その存在を確認するには、次のBashスクリプトを記述します
このスクリプトを実行すると、次の出力が得られます
次を使用してディレクトリの存在を確認します短い形式
場合によっては、ディレクトリがBashシェルに直接存在するかどうかを確認する必要があります。
ディレクトリがBashに存在するかどうかを確認するためにフォームで、括弧内に「-d」オプションを指定し、成功した場合に実行するコマンドを追加します。
たとえば、「/ etc」ディレクトリが存在するかどうかを確認するとします。
短い構文を使用して、次のコマンドを記述します。
完全なBashスクリプトの作成
ファイルシステムにファイル(または複数)が存在するかどうかを1日に複数回チェックしている場合は、このタスクを自動化できるスクリプトがあると便利です。
このセクションでは、複数のファイル名を取得して、存在するかどうかを返すことができるBashスクリプトを作成します。
そうでない場合は、簡単な通知メッセージが標準出力に表示されます。
新しいBashスクリプトを作成し、chmodを使用して実行可能にします。
ファイルが存在するかどうかを動的にチェックするために使用されるスクリプトの内容です。
スクリプトを保存し、作成した「bin」フォルダーをPATH環境変数に追加します。
システム上のどこからでもスクリプトにアクセスできるようになったので、スクリプトを呼び出してチェックを開始できますファイルが存在するかどうかを確認します。
すばらしい!
ファイルシステムにファイルが存在するかどうかを確認するカスタムを作成しました。
結論
このチュートリアルでは、BashテストとBashの短い構文を使用して、ファイルが存在するかどうかを確認する方法を学習しました。
同様に、学習しました。ディレクトリが存在するかどうかを確認する方法。
最後に、複数のファイルが存在するかどうかを確認するために動的引数を受け入れる完全なBashスクリプトを作成しました。
BashプログラミングまたはLinuxシステム管理に興味がある場合は、Webサイトに専用のセクションがありますので、ぜひチェックしてください!