BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

Bashスクリプトで「if…else」を使用する方法(例付き)

Bashスクリプトは、開発者がLinuxでタスクを自動化するための重要なツールです。

Bashスクリプトを使用して、開発タスクをローカルで自動化する(展開用のファイルのアップロード、アプリのコンパイル、画像の一括サイズ変更など)だけでなく、サーバー側のタスク(スケジュールされた電子メールの送信、定期的なデータの収集、デバイスへの通知の送信など)にも使用できます。 。

別のタスクまたは変数の結果に応じていくつかのタスクを実行する必要があります。その場合、if…else が手伝う。 Bashスクリプトでのこの意思決定プロセスは、条件付きを使用して呼び出されます

このチュートリアルでは、if…elseの詳細と使用例を示します。 Bashのステートメント。

ifの使用 ステートメント

単純なifステートメントは、条件が真の場合に含まれているアクションを実行し、次のようになります。

if CONDITIONS; then
    ACTIONS
fi

完全な例:

#!/bin/bash
if [ 2 -lt 3 ]; then
    echo "2 is less than 3!"
fi
をエコーし​​ます。

注:

  • すべてのbashスクリプトは、#!/ bin / bashの行で始まります。
  • -lt 演算子は、最初の値が2番目の値よりも小さいかどうかを確認します。 2番目の値が最初の値より大きいかどうかを確認する場合は、 -gtを使用します。
  • より多くの論理演算子のリストを読んでください。
  • echoを使用しています コマンドラインにテキストを出力するコマンド
  • if ステートメントは常にfiで終わります それらを終了するには

elseの使用 ステートメント

一連の条件に基づいてアクションを実行し、次に別のアクションを実行する場合は、のみ これらの条件が満たされない場合は、 elseを使用できます。 ステートメント:

#!/bin/bash
echo -n "Enter number: "
read number
if [ $number -lt 3 ]; then
    echo "$number is less than 3!"
else
    echo "$number is not less than 3!"
fi

注:

  • 値の比較とテキストの出力には、上記と同じ要素を引き続き使用しています
  • 読み取りを使用しています ユーザー入力を取得するコマンド
  • 後で使用するために値を格納するために変数を使用しています

elifの使用 (Else If)ステートメント

複数の条件セットをチェックし、各テストがtrueである場合に異なるアクションを実行するには、 elifを使用します。 (それ以外の場合)ステートメント:

#!/bin/bash
echo -n "Enter number: "
read number
if [ $number -lt 3 ]; then
    echo "$number is less than 3!"
elif [ $number -eq 3]; then
    echo "$number is equal to 3!"
else
    echo "$number is not less than 3!"
fi

ifの複数の条件 ステートメント

確認したい条件が複数ある場合は、 &&を使用できます。 ( AND )および|| (または )アクションを実行するかどうかを決定するオペレーター

#!/bin/bash
echo -n "Enter number: "
read number
if [[ $number -lt 3 ]] && [[ $number -lt 0 ]]; then
    echo "$number is less than three and is negative"
elif [[ $number -lt 3 ]] || [[ $number -gt 6 ]]; then
    echo "$number is not negative, but is less than 3 or greater than 6"
else
    echo "$number is greater than3 and less than 6"
fi

ステートメントのネスト

ifを配置できます 他のif内のステートメント ステートメント:

#!/bin/bash
echo -n "Enter number: "
read number
if [$number -gt 3]; then
    echo "$number is greater than 3"
    if [$number -gt 6]; then
        echo "$number is also greater than 6"
    else
        echo "$number is not also greater than 6"
    fi
fi

比較演算子

上記の例では、 -ltを使用しています。 (未満)、 -gt (より大きい)、および = (等しい)演算子。その他の一般的に使用される論理演算子は次のとおりです。

数値の比較

$number1 -eq $number2 : Returns true if the variables are equal
$number1 -gt $number2 : Returns true if $number1 is greater than $number2
$number1 -ge $number2 : Returns true if $number1 is equal to or greater than $number2
$number1 -lt $number2 : Returns true if $number1 is less than $number2
$number1 -le $number2 : Returns true if $number1 is equal to or less than $number2

文字列の比較

$string1 = $string2 : Returns true if $string1 and $string2 are equal
$string1 != $string2 : Returns true if $string1 and $string2 are not equal

上に示したように、比較式の結果を逆にするには、を配置します。 (NOT)その前の演算子。たとえば、*!=はNOTEQUALSを意味します。

文字列を比較するときは、スペースが誤って解釈されないように、常に二重引用符で囲んでください。 bashスクリプト。

また、文字列を引用符で囲んだ変数をラップして、誤解されないようにする必要があります。

#!/bin/bash
echo -n "Enter string: "
read string
if ["$string" = "hello there!"]
    echo "You said hello there!"
fi

ファイルまたはディレクトリのステータスの確認

-d $filepath : Returns true if the $filepath exists and is a directory
-e $filepath : Returns true if the $filepath exists regardless of whether it's a file or directory
-f $filepath : Returns true if the $filepath exists and is a file
-h $filepath : Returns true if the $filepath exists and is a symbolic link
-r $filepath : Returns true if the $filepath exists and is readable
-w $filepath : Returns true if the $filepath exists and is writable
-x $filepath : Returns true if the $filepath exists and is executable

結論

独自のBashスクリプトを作成すると、時間を大幅に節約でき、基本的な構成要素を理解すれば、非常に簡単に作成できます。

if…else ステートメントを使用すると、スクリプトがユーザー入力またはファイルのステータスにどのように応答するかを制御できます。

詳細については、他のBashの記事をご覧ください


  1. Linuxでwatchコマンドを使用する方法と例

    Linuxのwatchコマンドは1つのことを行います。コマンドを繰り返し、結果を繰り返し出力して、変更を監視できるようにします。使用方法は次のとおりです。 watchコマンド構文 watchコマンドの構文は次のとおりです。 watch OPTIONS COMMAND 注: オプション 以下の表のオプションのリストである必要があります。これにより、ウォッチのデフォルトの動作が変更されます。 コマンド コマンド 監視するコマンドです 繰り返し実行する必要があります。これは、出力を監視します 見る 中断されるまで実行されます(したがって、 CTRL+Cを押して終了します ) オプション 時

  2. Excel VBA でテーブル参照を使用する方法 (20 例)

    大規模なデータセットを含む Excel ブックでは、テーブルをその範囲全体ではなく名前で参照すると便利な場合があります。 Excel で VBA を使用することは、操作を実行する最も高速で信頼性が高く、最も効率的な方法です。 「Excel VBAでテーブルを参照する方法」を知るための特別なトリックを探しているなら、あなたは正しい場所に来ました. Excel でテーブルを参照するには、さまざまな方法があります。この記事では、これらの方法の詳細について説明します。このすべてを学ぶために完全なガイドに従ってみましょう. ListObject プロパティでテーブルを参照 VBA コードの作成中、Li