1

Я новичок здесь, но stackoverflow помог мне в прошлом.

Я пишу сценарий оболочки Bash для создания make-файла (начиная с малого).

echo "\
include \$(GNUSTEP_MAKEFILES)/common.make

APP_NAME = $PRODUCT_NAME
$PRODUCT_NAME_OBJC_FILES = source.m

include \$(GNUSTEP_MAKEFILES)/application.make"\
> GNUmakefile

Переменная среды, установленная в среде IDE, в которой она используется, равна $ PRODUCT_NAME. Теперь bash, очевидно, рассматривает этот сценарий как ссылку на переменную среды $ PRODUCT_NAME_OBJC_FILES. Я понимаю почему, но я не знаю, как обойти это. Есть указатели?

$ PRODUCT_NAME оценивается надлежащим образом, когда подчеркивание не следует сразу же после этого, но лишний пробел запутывает ситуацию.

1 ответ1

2

Используйте ${PRODUCT_NAME}_OBJC_FILES . В фигурных скобках Bash явно указывает, где заканчивается имя переменной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .