Bash シェル スクリプトで入力引数の存在を確認する方法

Bash Sheru Sukuriputode Ru Li Yin Shuno Cun Zaiwo Que Rensuru Fang Fa



Bash シェル スクリプトは、反復的なタスクを自動化し、コマンド ラインで複雑な操作を実行するための強力なツールです。シェル スクリプトの基本的な概念の 1 つは、ユーザーまたは他のスクリプトからの入力引数を受け入れることです。入力引数を扱うときは、スクリプトで予期しない動作を避けるために、入力引数が存在するかどうかを確認することが不可欠です。この記事では、Bash シェル スクリプトで入力引数の存在を確認するさまざまな方法について説明します。

Bash シェル スクリプトで入力引数の存在を確認する方法

次の 3 つの方法があります。

  1. 「テスト」コマンドの使用
  2. 「$#」変数の使用
  3. 「-n」オプションの使用

方法 1: 「test」コマンドを使用する

「[」コマンドとも呼ばれる「test」コマンドは、さまざまな条件をテストする Bash の組み込みコマンドです。 「test」コマンドを使用してテストできる条件の 1 つは、変数が存在するかどうかです。 「test」コマンドを使用して入力引数が存在するかどうかを確認するコードの例を次に示します。







#!/ビン/バッシュ

もしも [ -と 「$1」 ]

それから

エコー 「入力引数がありません。」

出口 1

なれ

エコー 「入力引数が存在します。」

ここでは、「test」コマンドで「-z」オプションを使用して、入力引数が空の文字列かどうかをチェックしています。入力引数が空の文字列の場合、スクリプトはエラー メッセージを出力し、ステータス コード 1 で終了します。それ以外の場合、スクリプトは引き続き実行されます。以下では、コードに引数を入力して、引数の入力が存在するというメッセージを表示します。





方法 2: 「$#」変数を使用する

「$#」 variable は、スクリプトに渡される入力引数の数を格納します。スクリプトが少なくとも 1 つの入力引数を想定している場合、 「$#」 変数がゼロより大きいです。以下は、少なくとも 1 つの入力引数が存在するかどうかを確認するコードの例です。 「$#」 変数:





#!/ビン/バッシュ

もしも [ $# -eq 0 ]

それから

エコー 「入力引数がありません。」

出口 1

なれ

エコー 「入力引数が存在します。」

ここで 「-eq」 演算子は、 「$#」 変数がゼロに等しいかどうか、および「$#」変数がゼロに等しい場合、スクリプトはエラー メッセージを表示し、ステータス コード 1 で終了します。それ以外の場合、スクリプトは引き続き実行されます。コードの引数なので、引数の入力が存在するというメッセージが表示されます。



方法 3: 「-n」オプションを使用する

「-n」 オプションは、変数が空でないかどうかを確認するために使用されます。このオプションを使用して、入力引数が存在するかどうかを確認できます。以下に、入力引数が存在するかどうかを確認するコード例を示します 「-n」 オプション:

#!/ビン/バッシュ

もしも [ -n 「$1」 ]

それから

エコー 「入力引数が存在します。」

それ以外

エコー 「入力引数がありません。」

出口 1

なれ

ここで、 「-ん」 オプションは、入力引数が空でないかどうかをチェックするために使用され、入力引数が空でない場合、スクリプトは成功メッセージを表示します。それ以外の場合、スクリプトはエラー メッセージを表示し、ステータス コード 1 で終了します。コードに引数を入力したので、引数の入力が存在するというメッセージが表示されます。

結論

シェル スクリプトでは、入力引数の存在を確認することは、スクリプトが期待どおりに実行されることを確認するための重要な手順です。 「test」コマンド、「$#」変数、または「-n」オプションを使用するなど、さまざまな手法を使用して入力引数の存在を確認できます。これらの手法を実装することにより、入力引数を処理できる、より堅牢で信頼性の高いシェル スクリプトを作成します。