Что делает || значит в.screenrc?
Команда, основанная на команде Рэмпиона
screen /bin/sh -c '/usr/bin/man `cat "$@"` > /tmp/manual | less /tmp/manual || read'
|| read
не значит или в команде. read
кажется, встроенная команда, о которой я не нашел объяснения в руководствах моей OS X.
Что значит ||
значит в команде?
2 ответа
||
почти или оператор.
В приведенном выше примере кода он сначала запустится less /tmp/manual
и если он возвращает значение, которое не является истиной, он будет работать read
, Если первая команда возвращает истинное значение, то команда чтения не выполняется из-за короткого замыкания.
Спасибо Michiel Buddingh: обратите внимание, что оператор не является коммутативным, так что это не математическое ИЛИ.
Что сказал МитМаро Это параметр для оболочки, или /bin/sh в этом случае. (Технически это не "параметр" (это другой термин), но это часть "грамматики" оболочки).
Для получения дополнительной информации вы можете прочитать справочную страницу на sh. То, что вы ищете, находится в разделе "Списки".
Snippet:
ИЛИ список имеет форму
command1 || command2
Команда2 выполняется тогда и только тогда, когда команда1 возвращает ненулевое состояние выхода.
Статус возврата списков AND и OR - это статус выхода последней команды, выполненной в списке.