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

Bashスクリプトでifelse条件文を使用する方法

bashスクリプトでは、ifステートメントが条件が真であるかどうかをチェックします。その場合、シェルはifステートメントに関連付けられたコードのブロックを実行します。ステートメントが真でない場合、シェルはifステートメントブロックの終わりを超えてジャンプし、続行します。

このガイドでは、if、if、if..elif..else..fiステートメントの使用方法を学習します。 If-elseステートメントは、bashスクリプトでは条件付きステートメントとも呼ばれます。

ifステートメント

構文:

if [condition_command]
then
command1
command2
……..
last_command
fi

例:

以下のbashスクリプトの例では、ifcondiステートメントを使用して2つの数値を比較しています。

#!/bin/bash
number=150
if [ $number -eq 150 ]
then
    echo "Number is 150"
fi

if-elseステートメント

通常のifステートメントに加えて、elseブロックを使用してifステートメントを拡張できます。基本的な考え方は、ステートメントがtrueの場合、ifブロックを実行することです。ステートメントがfalseの場合、elseブロックを実行します。ここで、ブロックはコマンドのセットです。

構文:

if [condition_command]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi

例:

#!/bin/bash
number=150
if [ $number -gt 250 ]
then
    echo "Number is greater"
else
    echo "Number is smaller"
fi

If..elif..elseステートメント

bashスクリプトで、ifステートメントを使用して複数の条件を適用する場合は、「ifelifelse」を使用します。このタイプの条件ステートメントでは、最初の条件が満たされた場合、その下のコードが実行されます。それ以外の場合、条件がチェックされ、一致しない場合は、以下のelseステートメントが実行されます。構文と例を以下に示します。

構文:

if [condition_command]
then
command1
command2
……..
last_command
elif [condition_command2]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi

例:

#!/bin/bash
number=150
if [ $number -gt 300 ]
then
    echo "Number is greater"
elif [ $number -lt 300 ]
then
    echo "Number is Smaller"
else
    echo "Number is equal to actual value"
fi

ネストされたifステートメント

ifステートメントとelseステートメントはbashスクリプトにネストできます。キーワード「fi」は、内側のifステートメントの終わりを示し、すべてのifステートメントはキーワード「fi」で終わる必要があります。

ネストされたifの基本構文を以下に示します:

if [condition_command]
then
command1
command2
……..
last_command
else
if [condition_command2]
then
command1
command2
……..
last_command
else
command1
command2
。 last_command
fi
fi

例:

#!/bin/bash
number=150
if [ $number -eq 150 ]
then
   echo "Number is 150"
else
if [ $number -gt 150 ]
then
    echo "Number is greater"
else
    echo "'Number is smaller"
   fi
fi

Linux
  1. Bashスクリプトで文字列を分割する方法

  2. パラメータをBashスクリプトに渡す方法は?

  3. Bash/sh 'if else' ステートメント

  1. Bash履歴コマンドの使用方法

  2. LinuxBashシェルスクリプトで暗号化されたパスワードを使用する方法

  3. Bashスクリプトをデバッグする方法は?

  1. BashスクリプトでCdを使用できないのはなぜですか?

  2. Bashスクリプトに.shまたは.bash拡張子を使用しますか?

  3. bashでkill SIGUSR2を使用するには?