Reputation: 141320
Command based on Rampion's command
screen /bin/sh -c '/usr/bin/man `cat "$@"` > /tmp/manual | less /tmp/manual || read'
|| read
does not mean or in the command. read
seems to be a built-in -command about which I did not find explanation in my OS X's manuals.
What does ||
mean in the command?
Upvotes: 2
Views: 415
Reputation: 3357
What MitMaro said. It's a parameter for the shell, or /bin/sh in this case. (Technically it's not a "parameter" (that's a different term) but it's part of the shell's "grammar.")
For details, you can read the man page on sh. What you're looking for is under the "Lists" section.
Snippet:
An OR list has the form
command1 || command2
command2 is executed if and only if command1 returns a non-zero exit status.
The return status of AND and OR lists is the exit status of the last command executed in the list.
Upvotes: 3
Reputation: 5927
||
is nearly 'or' operator.
In the code example above it will first run less /tmp/manual
and if it returns a value that is not true it will run read
. If the first command returns a true value then the read command is not performed because of short circuiting.
Thanks to Michiel: please note that the operator is not commutative such that it is not mathematical OR.
Upvotes: 5