これはなぜゼロですか?
$ echo $(( 0 && 0 ))
0
これはなぜゼロですか?
$ echo $(( 1 && 0 ))
0
これはなぜゼロですか?
$ echo $(( 0 && 1 ))
0
これはなぜ1ですか?
$ echo $(( 1 && 1 ))
1
ベストアンサー1
これは「と一致します。論理和「これは&&
算術的文脈で意味するものです。真理値表は次のとおりです。
| F | T
--+-----+-----
F | F | F
--+-----+-----
T | F | T
「AとB」は、AとBの両方が真である場合にのみ真です。
シェルの算術的文脈では、演算子は次のようになります。C規格で定義されているように実装ここで、「true」はゼロ以外の値であり、「false」は0です。これは、実際には「true」(または「成功」)がゼロで、「false」(または「エラー」)がゼロ以外の値である終了コードの逆です。
また見なさい:
$ echo $((2 && 2))
1
$ echo $((-1 && 2))
1