Как использовать функцию bash с аргументами в файле make - PullRequest
0 голосов
/ 17 января 2020

Я хочу использовать функцию bash в файле make. Без аргументов, это работает, но как я могу использовать это с аргументами.

all : 
        foo () { echo $1} ; foo "hello"

1 Ответ

2 голосов
/ 17 января 2020

Написание bash кода внутри Makefile требует специальной обработки для всех символов, которые являются специальными для Make. В частности, '$', который должен быть экранирован (удвоен). Также обратите внимание, что ';' требуется перед '}'.

Как правило, при записи фрагмента bash / sh в Makefile ${XYZ} (или $(XYZ)) будет ссылаться на переменную MAKE, а $$XYZ (или * 1006). *) будет ссылаться на переменную sh.

all:
        foo() { echo $$1 ; } ; foo "hello"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...