&&との間の差|| バッシュでオペレータ

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; }

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=33706&siteId=1