screen /bin/sh -c '/usr/bin/man `cat "$@"` > /tmp/manual | less /tmp/manual || read'
|| read
并不意味着命令中的或。 read
似乎是一个内置命令,我在OS X的手册中没有找到解释。
||
在命令中的含义是什么?
答案 0 :(得分:5)
||
几乎是'或'运营商。
在上面的代码示例中,它将首先运行less /tmp/manual
,如果它返回的值不是true,则它将运行read
。如果第一个命令返回true值,则由于短路而不执行读命令。
感谢Michiel :请注意,运算符不是可交换的,因此它不是数学OR。
答案 1 :(得分:3)
MitMaro说的话。它是shell的参数,在这种情况下是/ bin / sh。 (从技术上讲,它不是一个“参数”(这是一个不同的术语),但它是shell的“语法”的一部分。)
有关详情,请阅读man page on sh。您正在寻找的是“列表”部分。
段:
OR列表的格式为
当且仅当command1返回非零时才执行command1 || command2
command2 退出状态。
AND和OR列表的返回状态是最后一个的退出状态 命令在列表中执行。