Почему мы ИЛИ || Любое условие с истиной, как "iw dev имя_интерфейса del || true" в Bash? - PullRequest
6 голосов
/ 30 апреля 2019

Зачем любому выражению в bash-скрипте ORed с true?

iw dev interface del || true

1 Ответ

13 голосов
/ 30 апреля 2019

Команда, вероятно, выполняется в контексте сценария с использованием set -e, что приведет к завершению работы сценария, если какая-либо команда имеет ненулевой статус завершения. Если вы запустите iw dev interface del, и это не удастся, скрипт завершится. Однако, если вы запустите iw dev interface del || true, даже если iw завершится неудачно, true запустится, и гарантированно будет успешным, что означает, что состояние завершения полной команды равно нулю.

По сути, <command> || true - это идиома, которая означает «Беги , но игнорируй свой статус выхода».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...