Problema ao isolar a variável de ambiente em um script de shell

1

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.

    
por Not Rick Astley 24.08.2010 / 00:00

1 resposta

2

Use ${PRODUCT_NAME}_OBJC_FILES . As chaves informam ao Bash explicitamente onde o nome da variável termina.

    
por 24.08.2010 / 00:07