1. 序章

bashプログラミングでは、最も一般的な制御構造の1つはifステートメントです。 変数を比較することで、さまざまな行動方針から選択できます。

このチュートリアルでは、数と文字列の比較に重点を置いて、bashでこのような条件を無効にする方法を学習します。

2. 整数比較

数値を保持する2つの変数があるとしましょう。 bashでは、-ne比較演算子を使用してそれらの不等式をチェックできます。

foo=1
bar=2

if [[ $foo -ne $bar ]]
then
  echo "The integers are not equal"
fi

この例では、結果「整数が等しくありません」 が出力されます。

The integers are not equal

3. 文字列の比較

同様に、文字列を比較できます。 foo およびバーは、数値ではなく文字列を保持していることに注意してください。

foo=Hello
bar=World

if [[ $foo != $bar ]] 
then 
  echo "The strings are not equal" 
fi

実行後、次の出力が表示されます。

The strings are not equal

文字列には!=を使用する必要があるのに対し、数値には-neを使用することに注意してください

4. 否定

私たちはできる !を使用してif条件を否定します。 (ではない)演算子

if ! [[ expr ]]; then

[[の外でnot演算子を使用すると、 [[内の式が実行され、結果が無効になります。

それをよりよく理解するために例を見てみましょう:

num=1
if ! [[ $num -eq 0 ]]
then
  echo "Value of num is not 0"
fi

numの値が0と等しい場合、式はtrueを返します。 ただし、二重角括弧の外側で not 演算子を使用しているため、これは無効になっています。 複数の式がある場合、結果全体が否定されます。

[[内の個々の式にnot演算子を使用することもできます:

if [[ ! expr ]]; then

別の例を考えてみましょう:

num=1
if [[ ! $num -eq 0 ]]
then
  echo "Value of num is not 0"
fi

ここでは、個々の式に not (!)演算子を使用しました。 複数の式がある場合、 not(!)演算子は個々の式にのみ適用されます。

一般に、二重角かっこ内で演算子を使用するのが一般的です。

5. 結論

この短い記事では、bashでif条件を無効にするさまざまな方法を見てきました。

最初に、bashで数値と文字列の比較に使用されるさまざまな演算子を学びました。 次に、 not(!)演算子を使用して条件を無効にする方法を確認しました。 最後に、二重角かっこの内側と外側でnot演算子を使用する場合の違いを確認しました。