在 shell 脚本中隔离环境变量的问题

在 shell 脚本中隔离环境变量的问题

我是这里的新手,但 stackoverflow 过去曾帮助过我。

我正在编写一个 bash shell 脚本来生成 makefile(从小处开始)。

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

使用${PRODUCT_NAME}_OBJC_FILES。花括号明确告诉 Bash 变量名的结束位置。

相关内容