Use ${PRODUCT_NAME}_OBJC_FILES
. As chaves informam ao Bash explicitamente onde o nome da variável termina.
Eu sou um novato aqui, mas o stackoverflow me ajudou no passado.
Estou escrevendo um script de shell bash para gerar um makefile (começando pequeno).
echo "\
include \$(GNUSTEP_MAKEFILES)/common.make
APP_NAME = $PRODUCT_NAME
$PRODUCT_NAME_OBJC_FILES = source.m
include \$(GNUSTEP_MAKEFILES)/application.make"\
> GNUmakefile
A variável de ambiente definida pelo IDE em que isso é usado é $ PRODUCT_NAME . Agora, o bash obviamente trata esse script como referência a uma variável de ambiente $ PRODUCT_NAME_OBJC_FILES . Eu vejo por que, mas eu não sei como contornar isso. Quaisquer ponteiros?
O $ PRODUCT_NAME é avaliado como apropriado quando o sublinhado não é seguido imediatamente depois, mas o espaço extra atrapalha as coisas.