2

ランピオンの命令に基づく命令

screen /bin/sh -c '/usr/bin/man `cat "$@"` > /tmp/manual | less /tmp/manual || read'

|| readコマンド内のまたはを意味するものではありません。read組み込みの -command のようですが、OS X のマニュアルには説明がありませんでした。

||コマンドの意味は何ですか?

4

2 に答える 2

5

||ほぼ'または'演算子です。

上記のコード例では、最初に実行さ less /tmp/manualれ、trueでない値が返された場合は実行されますread。最初のコマンドが真の値を返す場合、短絡のために読み取りコマンドは実行されません。

Michielに感謝します。演算子は可換ではないため、数学的なORではないことに注意してください。

于 2009-07-12T21:32:53.317 に答える
3

MitMaroが言ったこと。これはシェルのパラメーターであり、この場合は/ bin/shです。(技術的には、これは「パラメーター」(別の用語)ではありませんが、シェルの「文法」の一部です。)

詳細については、shのmanページを参照してください。あなたが探しているものは「リスト」セクションの下にあります。

スニペット:

ORリストの形式は

command1 || command2

command2は、command1がゼロ以外の終了ステータスを返した場合にのみ実行されます。

ANDおよびORリストの戻りステータスは、リストで最後に実行されたコマンドの終了ステータスです。

于 2009-07-12T21:44:55.430 に答える