Bash スクリプトの論理和演算子
この記事では、論理 OR
演算子(||
)とその仕組みについて説明します。また、Bash スクリプトでどのように使用できるかの例も示します。
Bash の論理 OR
演算子(||
)
論理 OR
演算子||
複数の値を処理します。これは通常、ブール値とともに使用され、ブール値を返します。オペランドの少なくとも 1つが true の場合、true
を返します。すべての値が false の場合、false
を返します。
いくつか例を挙げましょう。
True || False --> True
False || True --> True
True || True --> True
False || False --> False
ブール値以外の論理 OR
演算子(||
)
論理 OR
演算子(||
)が文字列や数値などの非ブール値で使用されている場合、戻り値はブール値にはなりません。以下の例を考えてみましょう。
param1 || param2 || param3
param1
のブール値が true
の場合、このオペランドの値を返し、他のオペランドは無視されます。それ以外の場合は、param2
がチェックされます。
ブール値が true
の場合、結果は param2
の値になり、残りのオペランドは無視されます。このプロセスは、最後のオペランドまで続きます。
最後のオペランドのブール値も true
でない場合、結果は最後のオペランドの値になります。
次の式のブール値は false
です。残りは true
です。
0
NaN
null
undefined
""
、''
(空の文字列)
非ブール値の例を挙げましょう。
1 || 0 --> 1
"" || 1 --> 1
"" || 0 --> 0
1 || "x" --> 1
"x" || 1 --> "x"
Bash スクリプティングで論理 OR
演算子(||
)を使用する
論理 OR
演算子(||
)は、Bash スクリプトでも同じです。次に、Bash スクリプト構文を使用して例を調べます。
if [ 1 -eq 2 ] || [ 1 -eq 1 ]; then
echo "The result of the operation is true"
else
echo "The result of the operation is false"
fi
上記の if
ブロックでは、オペランドは論理 OR
演算子(||
)に与えられます。1
と 2
は等しくないため、最初の比較では結果は false
になります。
2 番目の比較では 2つの値が同じであるため、それらは等しく、結果として true
になります。したがって、私たちのプロセスは false ||になります true
。この操作は true
を返し、最初の echo
コマンドは上記で説明したように実行されます。
この操作には、-o
フラグを使用することもできます。
if [ 1 -eq 2 -o 3 -eq 4 ]; then
echo "The result of the operation is true"
else
echo "The result of the operation is false"
fi
このコードのロジックは最初のコードと同じです。ただし、今回は、両方の比較が false であるため、操作の結果は false
になります。したがって、else
ブロック内の echo
コマンドが実行されます。
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn