Mubashirアリ:
これは私が混乱しています。
false || echo "Oops, fail" # Oops, fail
true || echo "Will not be printed" #
true && echo "Things went well" # Things went well
false && echo "Will not be printed" #
真のリターン0終了コードとfalseを返します。1.私はどのように理解することができません|| そして&&働いています。それらの両方は、終了コードやコマンドの実際の出力に対応していますか?&&との違いは何ですか|| ここオペレータ?
上記のコードからあるあなたのCS教育講演2の行方不明学期。
chepner:
x && y
実行x
後にのみ実行するy
場合のx
成功(すなわち、0の終了ステータスを有します)
x || y
実行はx
、その後にのみ実行しy
た場合にx
失敗した(すなわち、ゼロ以外の終了ステータスを持っています)
出力はx
無関係です。
彼らはない場所の一つではない異なるが優先です。他の言語でのブーリアン演算子とは異なり、&&
かつ||
同じ優先順位、そのようなものを持っています
a || b && c
解析され、同じ評価されます
{ a || b; } && c
のではなく
a || { b && c; }