GNU/Linux >> Linux の 問題 >  >> Linux

シェルスクリプトでif-elseを使用する方法は?

シェルスクリプトの配列に関する以前のチュートリアルから先に、シェルスクリプトでif-elseを使用する方法を理解しましょう。

プログラム内のすべてのステートメントを実行することは、多くの場合、望ましくないため、条件付きプログラミングはプログラミング言語の重要な部分です。

そして、条件付きでステートメントを実行する方法が必要です。シェルスクリプトのif-elseは、まさにこの状況に対応します。

シェルスクリプトの条件

条件付きプログラミングの最も重要な部分の1つは、if-elseステートメントです。 if-elseステートメントを使用すると、コード内で反復的な条件ステートメントを実行できます。

条件を評価する場合は、シェルスクリプトでif-elseを使用し、その結果を使用して2つ以上のステートメントセット間で1つのセットを実行することにします。

これにより、基本的に、条件式が評価する結果に対する応答を選択できます。

シェルスクリプトのif-elseはどのように機能しますか?

これで、if-else関数とは何か、そしてドメインに関係なく、プログラマーにとってなぜそれが重要なのかがわかりました。シェルスクリプトのif-elseを理解するには、条件関数の動作を分析する必要があります。

if-else条件ブロックの構文を見てみましょう。

if [condition]
then
   statement1
else
   statement2
fi

ここには4つのキーワードがあります。つまり、 if、then、else およびfi。

  1. キーワードif 条件が続きます 。
  2. この条件 プロセッサによって実行されるステートメントを決定するために評価されます。
  3. 条件の場合 TRUEと評価されると、プロセッサはステートメントに続いてキーワード thenを実行します。 。構文では、 statement1と呼ばれます。 。
  4. 条件の場合 FALSEと評価された場合、プロセッサはステートメントの後にキーワード elseを実行します。 。これは、 statement2として示されます。 関数構文で。

覚えておくべき重要なことは、Cプログラミングのように、シェルスクリプトは大文字と小文字を区別するということです。したがって、コードでキーワードを使用するときは注意が必要です。

シェルスクリプトでif-elseを使用する方法

関数の構文を確認し、その使用方法を知っていると信じるのは簡単です。ただし、関数のさまざまな側面が果たす役割を理解するのに役立つため、例を通して関数を理解することをお勧めします。

このツールの使用方法をよりよく理解するために、シェルスクリプトのif-elseの便利な例をいくつか示します。

コマンド 説明
&& 論理積
|| 論理OR
$ 0 引数0、つまりスクリプトの実行に使用されるコマンド
$ 1 最初の引数(他の引数にアクセスするには番号を変更してください)
-eq 同等性チェック
-ne 不等式チェック
-lt 未満
-le 以下
-gt より大きい
-ge 大なり記号

1。 if-elseを使用して、2つの数値が等しいかどうかを確認します

シェルスクリプトでif-elseのような関数の動作を理解しようとするときは、簡単に始めるのがよいでしょう。ここでは、2つの変数aとbを初期化し、if-else関数を使用して2つの変数が等しいかどうかを確認します。このタスクのbashスクリプトは次のようになります。

#!/bin/bash
m=1
n=2

if [ $n -eq $m ]
then
        echo "Both variables are the same"
else
        echo "Both variables are different"
fi

出力:

Both variables are different

2。 if-elseを使用して2つの値を比較する

シェルスクリプトでのif-elseのより一般的な使用法は、2つの値を比較することです。変数を別の変数または固定値と比較することは、あらゆる種類のプログラマーによってさまざまな場合に使用されます。

この例では、2つの変数を初期化し、if-else関数を使用して、他の変数よりも大きい変数を見つけます。

#!/bin/bash
a=2
b=7
if [ $a -ge $b ]
then
  echo "The variable 'a' is greater than the variable 'b'."
else
  echo "The variable 'b' is greater than the variable 'a'."
fi

出力:

The variable 'b' is greater than the variable 'a'.

3。 if-elseを使用して、数値が偶数かどうかを確認します

偶数と奇数を処理して区別する必要がある状況に遭遇することがあります。これは、モジュラス演算子を使用すれば、シェルスクリプトのif-elseを使用して実行できます。

剰余演算子は、数値を除数で除算し、余りを返します。

すべての偶数は2の倍数であることがわかっているので、次のシェルスクリプトを使用して、数値が偶数か奇数かを確認できます。

#!/bin/bash
n=10
if [ $((n%2))==0 ]
then
  echo "The number is even."
else
  echo "The number is odd."
fi

出力:

The number is even

ご覧のとおり、条件の一部を二重括弧で囲んでいます。これは、条件をチェックする前にモジュラス演算を実行する必要があるためです。

また、二重角かっこで囲むと、ステートメントがCスタイルで実行され、bashスクリプト内で一部のCスタイルのコマンドを処理できるようになります。

4。単純なパスワードプロンプトとしてif-elseを使用する

if-else関数は、その汎用性と適用範囲で知られています。この例では、シェルスクリプトでif-elseを使用して、パスワードプロンプトのインターフェイスを作成します。

これを行うには、ユーザーにパスワードを入力して変数passに保存するように求めます。

事前定義されたパスワード(この例では「password」)と一致する場合、ユーザーは「パスワードは正しい」という出力を取得します。

それ以外の場合、シェルスクリプトは、パスワードが正しくないことをユーザーに通知し、再試行するように求めます。

#!/bin/bash
echo "Enter password"
read pass
if [ $pass="password" ]
then
  echo "The password is correct."
else
  echo "The password is incorrect, try again."
fi

結論

シェルスクリプトのif-elseの機能は、シェルプログラマーにとって重要な資産です。事前定義された条件に基づいて一連のステートメントを実行する必要がある場合に使用するのに最適なツールです。

if-elseブロックは、条件付きプログラミングの最も重要な部分ではないにしても、1つです。特定のステートメントの実行を規制することにより、コードをより効率的にするだけでなく、特定の場合に不要なステートメントの実行をプロセッサが浪費していた可能性のある貴重な時間を解放できます。

このチュートリアルが、if-else関数の使用方法を理解するのに役立つことを願っています。ご不明な点、フィードバック、提案がございましたら、下のコメント欄でお気軽にお問い合わせください。


Linux
  1. シェルスクリプトで入力を使用する方法

  2. Fish Shellでブール値を使用する方法は?

  3. Linux でシェル エイリアスを使用する方法

  1. シェルスクリプトでルート権限を削除する方法は?

  2. シェル スクリプトとはシェル スクリプトの作成方法

  3. adbシェルでsuコマンドを使用するには?

  1. シェルスクリプトのPosixコンプライアンスをテストする方法は?

  2. シェルからPythonスクリプトを実行する方法

  3. Bashシェルスクリプトで改行をエコーする方法