В чем смысл @!
в следующем коде из файла make? Я проверяю make manual, но не нахожу ответа:В чем смысл @! в файле make?
check:
@echo "checking for tabs in shell scripts"
@! git grep -F ' ' -- '*.sh'
В чем смысл @!
в следующем коде из файла make? Я проверяю make manual, но не нахожу ответа:В чем смысл @! в файле make?
check:
@echo "checking for tabs in shell scripts"
@! git grep -F ' ' -- '*.sh'
!
инвертирует значение, возвращаемую команды. @
suppresses the echoing of the command itself. Make дает вам ошибку, если какая-либо из команд возвращает ненулевое значение. Использование !
просто инвертирует ситуацию. Причина, по которой !
не указана в руководстве, заключается в том, что это bash.
Использование '!' Документировано в [Bash Pipelines] (https://www.gnu.org/software/bash/manual/bash.html#Pipelines). –
@ JingguoYao, конечно, я имел в виду, что это не задокументировано в make, потому что это bash – Azad
Это всего лишь предположение, но я бы сказал! является псевдонимом для функции 'shell' (вызывая команду' git' в подоболочке), а @ подавляет вывод этой команды. –
похоже, что это можно решить простым поиском Google, но это невозможно. Я даю +1 для хотя бы проверки руководства 'make'. –
The Make part is cover here: http://stackoverflow.com/questions/3477292/what-do-and-do-as-prefixes-to-recipe-lines-in-make – tripleee