1行でBashのIf-Else文を書く方法
LinuxおよびGNUコンピュータシステムで提供されるオープンで改善されたBourneシェルのバリアントはBashと呼ばれています。元のものと同じく、Bashは追加としてコマンドライン編集もサポートしています。if-else文は本質的に意思決定に使用される文であり、非常に便利です。与えられた条件が真であれば、提供されたif文が印刷されます。偽であれば、else文が印刷されます。一行でif-else文をBashで利用することができます。スクリプトを書く前に、Bashスクリプトを実行するためにLinuxにBashシェルを追加する必要があります。
LinuxにおけるBashのIf-Else文の使用
Bashプログラムで選択肢を作成するために、case文とif文を使用できます。これにより、私たちが指定できる状況に基づいてコードの一部を実行するかどうかを選択する可能性が提供されます。プログラムまたはスクリプトの実行を二つの経路に分岐させるためには、if-else文が使用されます。たとえば、プログラムを書いて「if else」条件を含めると、提供された条件が真である場合、プログラムは「if」文を実行します。提供された条件が偽である場合は、else文が実行されます。
私たちは今、Bashの「if else」条件を利用しています。私たちのBashファイルは「.sh」拡張子で、デスクトップにあります。したがって、ターミナルで最初に「cd Desktop/」コマンドを使用してデスクトップディレクトリにアクセスしなければなりません。このコマンドを実行すると、その後デスクトップディレクトリが取得できます。
Linux@linux:~$ cd Desktop/ここで、Bashスクリプトで「if else」文を利用してこの処理を実行します。まず、デスクトップからBashファイルを開きます。開いたら、最初の行に「#!/bin/bash」と書いてBashシェルを使用します。そして、このためのスクリプトを書きます。最初に「if」と入れ、次に角括弧を使います。それから、これらの角括弧の中に「if [221] equals [221]」という条件を書きます。
ここでは、実質的に「-eq」フラグを利用しており、これは等号の操作を示します。行の最後には終止符として「;」を追加します。次の行では「then」キーワードを使用します。その後、次の行では「echo」用語を使用しますが、これは基本的にBashでステートメントを出力するために使用されます。このechoの中で、逆の引用符を使い「条件は真です」というステートメントを渡します。次の行では「else」ステートメントを使用し、「echo」キーワードを使って「条件は偽です」というステートメントを渡します。「fi」という言葉は条件を終了するために使われます。「if」条件を終了するには、この引数を使用してください。
#!/bin/bash
If [ 221 -eq 221 ];
then
echo “The condition is true”
else
echo “The condition is false”
fi
さて、このBashファイルをターミナルで開き、スクリプトの出力を確認します。これを行うために、まずドットスラッシュ「./」を入力し、その後にスクリプトのBashファイル名である「data.sh」を入力します。このコマンドは、実行されるとコンソールに結果を表示します。
Linux:~/Desktop$ ./data.shさて、見ての通り、このコマンドを実行すると、「条件が真です」という文が「if」ブロックに表示されます。その結果、「if」ブロックが実行されるのは、これは条件が真であることを示しています。しかし、もし状況が偽であれば、elseの表現が表示されます。
BashにおけるIf-Else文での-GTフラグの使用
このセクションでは、実際には大なり記号「>」に使用される別のオプション「-gt」を使用します。まず、最初の行で「#!/bin/bash」というBashシェルを使用してスクリプトを開始します。次の行では、「if」条件を使用し、「7」が「24」より大きい場合、先に説明したように、「-gt」が大なり記号に使用されることを示します。この条件を角括弧内に書かなければなりません。
最終的に、括弧を閉じた後の行の最後に終端記号「;」を使用します。そして、条件が満たされている場合に出力に表示される「条件は真です」というステートメントを印刷します。しかし、条件が満たされていない場合は、else文を使用します。この場合、「条件は偽です」というステートメントを印刷します。最後に、if-else条件を終了させるために「fi」キーワードを使用します。
#!/bin/bash
If [ 7 -gt 24 ];
then
echo “The condition is true”
else
echo “The condition is false”
fi「./data.sh」コマンドを使用したので、ターミナルでこのBashの出力を開きます。
Linux:~/Desktop .$ ./data.shしたがって、このコマンドを実行した後、以下の画像に示されているように、「条件は偽です。」と読むelse文が表示されます。これは条件が偽だからです。結局、「7」は「24」より大きくないため、elseブロックが実行されます。
複数の条件を使用したIf-Else文
このセクションでは、複数の条件を使用してif-else文を使用します。まず、前の例と同様にBashシェルを使用してスクリプトを開始します。その次の行で「if」条件が使用されます。これを行うには、まず二重角括弧を使用します。その中に「16 -eq 14」という条件を入力します。これは「16」が「14」と等しいことを意味します。その後、「and」演算子「&&」を使用し、「hey == hey」という条件を使用します。次に、「or」演算子「||」を使用し、「2 -gt 7」という条件を適用します。これは「2」が「7」より大きい場合に「条件は真です」と出力します。次の行では、条件が偽の場合、else条件を使用して「条件は偽です」と表示します。
#!/bin/bash
If [[ 16 –eq 14 && “hey” == “hey” || 2 -gt 7 ]];
then
echo “The condition is true”
else
echo “The condition is false”
fiBashスクリプトの出力を見るために、今では「./data.sh」コマンドを使用します。
Linux:~/Desktop .$ ./data.sh
「16」は「14」と等しくなく、「2」は「7」より大きくないので、「条件は偽です」と表示されるelse文が、コマンドが実行された後の出力に表示されます。以下の図で確認できます:
1行でBashのif文を利用する
このセクションでは、単一行で「if」文を使用します。そのために、まず前の例と同様に「#!/bin/bash」というBashシェルを使用します。次の行で「if」式を使用して条件が存在するかどうかを判断します。まず「if」と入力します。次に、この括弧内に平方括弧を使用して「X==X」という条件を適用します。条件が真であれば、次にechoを使用して「1」を印刷します。その後、「;」を使います。それから再び「echo」を使用して「2」を印刷します。最後に「3」を印刷します。
しかし、各文の後に「;」という記号を使用したため、これらのテキストは同じ行に印刷されません。その代わりに、新しい行に印刷されます。次に、新しい行で同じ手順を再度適用します。しかし今回は、「X==Y」と条件を更新して、3つの行が印刷されるようにします。最初の行には「4」と印刷されます。2番目の行には「5」と印刷されます。そして3番目の行には「6」と印刷されます。その後、条件を閉じるために「fi」を使用します。
#!/bin/bash
If [ “X” == “X” ]; then echo “1” ; echo “2” ; echo “3” ; fi
If [ “X” == “Y” ]; then echo “1” ; echo “2” ; echo “3” ; fiスクリプトを実行すると、最初の「if」条件の文が次の行に出力されます。次の画像のように、その条件が真であるためです。最初の行に「1」、2行目に「2」、最後の行に「3」が表示されます。
結論
この記事では、Linux Bashのif-elseステートメントについて説明します。この記事では、さまざまなBashのif-elseの例を使用しました。if-elseの状況は、さまざまなフラグと共に使用されます。条件が満たされれば、「if」ステートメントが表示され、そうでなければ「else」ステートメントが表示されます。if-else条件は、二つ目のセグメントで多くの演算子を同時に使用して行われます。「if」ステートメントを一行で使用する方法についても、第3行で説明されています。



