ウェブサイト検索

Bashと条件: 完全ガイド


Linuxでは、Bashスクリプトに条件が含まれており、ユーザーが意思決定タスクを実行するのに役立ちます。Bashスクリプトの条件には、主に条件文と条件演算子が含まれます。条件文は、ロジックを記述し、それに応じて意思決定を行うのを容易にします。この文の概念はすべてのプログラミング言語に共通していますが、Bashではやや異なります。

Bashスクリプトにはさまざまな条件がありますが、「if文」が最も一般的です。多くの初心者は常にBashと条件についてもっと学びたいと思っています。このチュートリアルでは、LinuxのBash条件の使い方を説明します。

Bashと条件: 完全ガイド

  1. もし文
  2. 高度なIf文

    • もし-それ以外の文
    • もし-エリフ文
    • ネストされたif文
  3. ケースステートメント
  4. ブール演算

それぞれのBash条件についての簡単な議論をいくつかの例とともに見てみましょう。

1. If文

if文は、条件に従って特定のコード文を実行するかどうかを決定することを可能にします。コード文の最初には「if」キーワードが必要で、最後には「fi」キーワードが必要です。

条件が真であれば、コードはアクションを実行します。条件が偽であれば、コードは中止します。例えば、ある値が別の値より大きい場合にステートメントを返すスクリプトを作成しましょう:

#!/bin/bash 
if [ $1 -gt 50 ]
then
echo $1 "is greater than 50"
pwd 
fi

さて、50より大きい任意の数を使用した場合、スクリプトは次の結果を表示します:

./script.sh 53

50未満の数字を入力すると、何も返されません。

2. 高度な If 文

「if文」は真でない場合には結果を提供しません。そのため、さまざまな高度なif文が登場します。

もし-それ以外の文

if-else文は、ステートメントが真でなくても結果を提供します。したがって、値が真であれば、condition_1を返し、偽であればcondition_2を返します。たとえば、二つの数の比較に関する結果を出力するスクリプトを作成できます。

 #!/bin/bash 
if [ $1 -gt 150 ]
then
echo $1 "is greater than 150."
else 
echo $1 "is not greater than 150."

fi

ターミナルでスクリプトを実行すると、数に応じて次の結果が得られる場合があります。

./<script.sh> 163 
./<script.sh> 123

前の画像に見られるように、163は「163は150より大きい」と返し、123は「123は150より大きくない」と返します。

もし-エリフ文

if-elif文は三つの条件を中心に展開されており、比較的複雑なものの一つです。この場合、条件が真であればコマンドを一つずつ実行し、いずれかのコマンドが偽であればスキップします。たとえば、数字が偶数、奇数、またはゼロであるかを判断するスクリプトを作成しましょう:

では、ターミナルでスクリプトを実行し、詳細を印刷するために任意の数字を入力してください:

ネストされた if 文

1つのスクリプト内に入れ子の文で複数の「if条件」を追加することができます。たとえば、スクリプトが指定された数が150より大きいか、偶数か奇数かを評価できる2つの異なる条件を組み合わせることができます:

さて、スクリプトを実行して任意の数字を入力すると、それに応じた結果が得られるかもしれません。

3. ケースステートメント

このBash文は、複数の選択肢を含む複雑な条件を簡略化します。結果を簡単に得るために「if文」を;;で置き換えることができます。スクリプトをよりクリーンで理解しやすくするために、case文に複数の条件を追加することができます。例えば、従業員とその職位に関する詳細を提供するスクリプトを作成してみましょう:

これで、ターミナルでスクリプトを実行し、任意の名前を入力できます:

4. ブール演算

時々、「if条件」を実行したいですが、時には複数の条件が単一のスクリプトで満たされます。だからこそ、私たちは以下のように分類されるブール演算を使用します。

  • 論理AND(&&) は、両方のオペランドが真の場合に真を返し、それ以外の場合は偽を返します。
  • 等しくない (!) は、オペランドが偽の場合にのみ真を返す一項演算子で、オペランドが真の場合には偽を返します。
  • 論理和 (||) は、いずれかのオペランドまたは両方が真であれば真を返し、どちらも真でない場合は偽を返します。

こちらが、すべてのブール演算子を含む単一のBashスクリプトの例です:

スクリプトを作成したら、ターミナルで実行してください:

結論:

この記事は、Linuxで使用できるBashの条件についてです。私たちは、各条件を簡潔に説明するために異なる例を使用しました。これらの条件は、Bashスクリプトを作成し、簡単に結果を得るのに役立ちます。Bashスクリプトは条件に限らず、多くの概念が含まれています。Bashの概念についてさらに知りたい場合は、Linuxhintをご覧ください。