このガイドの焦点は、bashスクリプトを使用してシステム内のファイルの存在について説明することです。
bashスクリプトを使用してファイルの存在を確認する方法:
1)ターミナルにファイル名を入力する。
まず、bashスクリプトファイルを作成する必要があります。以下のコマンドを使用します。
$接するtestfile.sh
私が作成したファイルの名前はtestfile.shで、拡張子.shはシェルスクリプトファイルを示します。
testfile.shを任意のテキストエディタで開きます。次に、スクリプトを作成し、保存を押して保存します。
1つの方法は、ターミナルでユーザーにファイル名を要求してファイルを見つけることです。
使用する -NS ファイルの存在を確認します。
以下のスクリプトを記述します。
#!/ bin / bash捨てた 「ファイル名を入力してください」
読んだnewfile1
もしも [ -NS '$ newfile1' ]
それから
捨てた 「ファイルが見つかりました」
そうしないと
捨てた 「ファイルが見つかりません」
なれ
ターミナルに戻り、ファイルを実行して出力を印刷します。
。/filename.sh許可が拒否されたというメッセージが端末に表示されます。
以下のコマンドを実行して実行可能にします。
$chmod+ x testfile.sh
ファイル名を入力すると、出力が出力されます。
2)スクリプトの作成中にファイル名を入力する:
スクリプトの作成中にファイル名を指定してファイルを検索する別の方法。ファイルの可用性を確認する方法は3つあります。 1つ目はtestコマンドを使用し、2つ目は角括弧内の式を使用するifを使用し、3つ目も以下に示すようにifが二重角括弧を使用します。
- 式をテストします。
- [式]の場合
- if [[EXPRESSION]]
例を挙げて理解しましょう。
1)テスト[式]
指定されたスクリプトをコピーしてエディターに貼り付け、保存します。
ファイル名= file1
もしも テスト -NS '$ filename';
それから
捨てた '$ file見つけました。」
そうしないと
捨てた '$ file見つかりませんでした」
なれ
出力:
私のディレクトリにはそのようなファイルがないため、コードには「ファイルが見つかりません」というメッセージが表示されます。
2)if [式]
次のスクリプトをコピーして、ファイルが存在するかどうかを確認します。
#!/ bin / bashファイル名= myfile.txt
もしも [ -NS '$ filename' ];
それから
捨てた '$ filename見つけました。」
そうしないと
捨てた 「ファイル名が見つかりません」
なれ
出力:
3)if [[式]]
以下のスクリプトをコピーして、ターミナルに貼り付けます。
#!/ bin / bashファイル名= testfile
もしも [[ -NS '$ filename' ]];
それから
捨てた '$ filename見つけました。」
そうしないと
捨てた '$ filename見つかりませんでした」
なれ
出力:
ディレクトリを確認するには:
3)スクリプトの作成中にディレクトリ名を入力する
使用 -NS ディレクトリの存在を確認するためのフラグ。
以下のスクリプトでは、dir11は、見つけたファイルを保存する変数です。この例では、ディレクトリ名testDirが存在するかどうかを確認します。
#!/ bin / bashdir11= testDir
もしも [ -NS '$ dir11' ]
それから
捨てた 「ディレクトリが見つかりました」
そうしないと
捨てた 「ディレクトリが見つかりません」
なれ
出力:
2)ターミナルにファイル名を入力する。
ターミナルでコマンドを実行してディレクトリが存在するかどうかを確認するときは、検索するディレクトリ名を入力する必要があります。
捨てた 「ディレクトリ名を入力してください。」
読んだDir1
もしも [ -NS 「Dir1」 ]
それから
捨てた 「ディレクトリが見つかりました」
そうしないと
捨てた 「ディレクトリが見つかりません」
なれ
出力:
ifステートメントを使用せずにファイルをチェックします。
テストコマンドは、ifステートメントなしで実行できます。ファイルが存在する場合にのみ出力が表示されます。そうしないと、出力がありません。
スクリプトを書く:
- テスト -NSmyfile.txt&& 捨てた 「ファイルが見つかりました」
- [ -NSmyfile.txt] && 捨てた '$ file発見されました。」
- [[ -NSmyfile.txt]] && 捨てた '$ file発見されました。」
出力:
ifステートメントを使用せずにディレクトリをチェックします。
以下のステートメントを使用して、ディレクトリが存在するかどうかを確認します。
- [[ -NStestDir]] && 捨てた 「ディレクトリは存在します」
- 2)。 [ -NStestDir] && 捨てた 「ディレクトリは存在します」
出力:
複数のファイル/ディレクトリの確認:
1)ifステートメントを使用して複数のファイルをチェックします。
ネストされたif / elseステートメントを使用する代わりに、-aフラグを使用してさまざまなファイルの存在を確認します。
もしも [ -NSnew_file.txt-に -NSnewfile.txt];それから
捨てた 「両方のファイルが存在します。」
なれ
別の方法は次のとおりです。
#!/ bin / bashもしも [[ -NSnew_file.txt&& -NSnewfile.txt]];それから
捨てた 「両方のファイルが存在します。」
なれ
出力:
2)ifステートメントを使用せずに複数のファイルをチェックします。
次のステートメントを使用して、ifを使用せずに複数のファイルを同時にチェックします。
- [[ -NSnew_file.txt&& -NSnewfile.txt]] && 捨てた両方のファイルが終了します。
- [[ -NSnew_file.txt&& -NSnewfile.txt]] && 捨てた両方のファイルが終了します。
出力:
結論:
この記事では、bashスクリプトを使用してファイルまたはディレクトリをチェックする方法を示しました。さまざまなオプションを使用して、ファイルの可用性を確認しました。まず、さまざまなフラグを指定してtestコマンドを使用します。次に、ファイルまたはディレクトリをチェックするためのifステートメントを使用せずに、if、ネストされたif-elseの使用法を学習しました。また、複数のファイルまたはディレクトリをチェックする方法についても検討しました。