@command -v gpg Почему флаг версии перед командой?

verify: @command -v gpg 2>/dev/null || { echo "Cound not find gpg. Aborting."; exit 1; }

Я видел следующую команду в Makefile. Я понимаю, что он делает следующее:

verify вызывается до того, как build в файле Makfile @command используется, чтобы не отгонять выполняемую команду и не эхо выводить команду, которая будет invused -v gpg 2>/dev/null проверит версию и если gpg не будет найден, он перенаправит вывод ошибки (sterr) в null (нигде). || { echo "Cound not find gpg. Aborting."; exit 1; } будет эхо-сообщение и выйдет из текущего сценария с ошибкой 1, если предыдущая команда создает ошибку (возвращает false, поэтому именно здесь есть)

То, что я не понимаю, - -v gpg. При проверке версии -v обычно появляется после команды. Есть ли причина для этого?

1
задан 16 June 2017 в 11:36

3 ответа

-v является аргументом для command, встроенным не для gpg, он не ищет версию «gpg», он ищет, существует ли какая-либо команда с именем «gpg».

] Из help command:

-v    print a description of COMMAND similar to the `type' builtin

похоже на type builtin:

$ command -v gpg
/usr/bin/gpg

Если он не смог найти команды, он вернет ненулевой статус выхода, поэтому будет запущен раздел «OR»:

|| { ... }

, который выдает:

Cound not find gpg. Aborting.

с код статуса выхода «1».

3
ответ дан 22 May 2018 в 21:29

-v является аргументом для command, встроенным не для gpg, он не ищет версию «gpg», он ищет, существует ли какая-либо команда с именем «gpg».

] Из help command:

-v print a description of COMMAND similar to the `type' builtin

похоже на type builtin:

$ command -v gpg /usr/bin/gpg

Если он не смог найти команды, он вернет ненулевой статус выхода, поэтому будет запущен раздел «OR»:

|| { ... }

, который выдает:

Cound not find gpg. Aborting.

с код статуса выхода «1».

3
ответ дан 18 July 2018 в 11:34

-v является аргументом для command, встроенным не для gpg, он не ищет версию «gpg», он ищет, существует ли какая-либо команда с именем «gpg».

] Из help command:

-v print a description of COMMAND similar to the `type' builtin

похоже на type builtin:

$ command -v gpg /usr/bin/gpg

Если он не смог найти команды, он вернет ненулевой статус выхода, поэтому будет запущен раздел «OR»:

|| { ... }

, который выдает:

Cound not find gpg. Aborting.

с код статуса выхода «1».

3
ответ дан 24 July 2018 в 19:49

Другие вопросы по тегам:

Похожие вопросы: