Одна проблема, с которой я столкнулся при использовании sed в make-файле, не решается текущими ответами, поэтому я объясню это здесь.Я заполнял переменные Bash примерно так: remote_owner=$$($(MAKE) remote.owner)
и затем использовал эти переменные в моей подстановке sed.проблема в том, что из-за запутанного способа установки моих правил remote_owner
может иметь собственный вывод make, что дает мне ошибку:
sed: -e expression #1, char 69: unknown option to `s'
make: *** [alter_table_local.sql] Error 1
Например, добавляя сообщения отладки, я нашел local_ownerустановите значение:
make[1]: Entering directory `/home/jcomeau/rentacoder/jh'
jcomeau
. Ответом было добавить параметр --silent
, чтобы сделать: remote_owner=$$($(MAKE) --silent remote.owner)