1
У меня есть эта проблема с make-файлом. Когда я выполняю эту команду:Невозможно выполнить команду оболочки из Makefile
kill $(ps aux | grep '[p]ython service/logdata.py' | awk '{print $2}')
с терминала работает нормально. Но с этим правилом из Makefile:
stop:
kill $(ps aux | grep '[p]ython service/logdata.py' | awk '{print $2}')
Я получаю эту ошибку:
kill
Usage:
kill [options] <pid> [...]
Options:
<pid> [...] send signal to every <pid> listed
-<signal>, -s, --signal <signal>
specify the <signal> to be sent
-l, --list=[<signal>] list all signal names, or convert one to a name
-L, --table list all signal names in a nice table
-h, --help display this help and exit
-V, --version output version information and exit
For more details see kill(1).
makefile:19: recipe for target 'stop' failed
make: *** [stop] Error 1
Я уже проверил, что выход Grep не пуст.
Заранее спасибо.
Благодарю вас за помощь. Я думал, что чистые команды оболочки передаются буквально. –
Почему вы так думаете? Разве вы не видели команды типа '$ (CC) $ <' в make-файле? Это разбор '' 'в make-файле. – Barmar