Если вы хотите, чтобы оболочка интерпретировала кавычки после расширения обратным тэгом, вам нужно использовать eval, например:
eval make `cat OPTIONS.txt`
, однако просто имейте в виду, что это оценивает все, так что если вы цитировали контент внеС помощью галочек вы получите ту же проблему:
eval make `cat OPTIONS.txt` arg4="one two"
выдаст ошибку.Вам бы пришлось заключить в кавычки arg4
, что-то вроде этого:
eval make `cat OPTIONS.txt` arg4='"one two"'
В общем, сложно делать такие вещи из командной строки, вне сценариев.
ETA
Реальная проблема заключается в том, что у нас нет набора требований. Почему вы хотите поместить их в файл, и какие вещи вы добавляете;они только присваивают переменные make-файла, или здесь также есть другие опции make, такие как -k
или аналогичные?
ЕСЛИ OP контролирует (может изменять) формат файла И файл содержит только используемое содержимоеВ случае make AND OP не заботится о том, чтобы переменные были назначениями командной строки по сравнению с обычными назначениями И есть только назначения переменных, а не другие параметры, тогда они могут просто (а) поместить каждое назначение переменной в отдельной строке, (b)удалите все кавычки и (c) используйте include OPTIONS.txt
внутри make-файла, чтобы «импортировать» их.