【发布时间】:2009-09-17 19:27:03
【问题描述】:
我创建了一个这样的 configure.ac 文件:
AC_INIT()
set
这样做的目的是打印配置脚本使用set 创建的每个可用环境变量,所以我这样做:
user@host:~$ autoconf
user@host:~$ ./configure
打印一堆变量,如
build=
cache_file=/dev/null
IFS='
'
LANG=C
LANGUAGE=C
datarootdir='${prefix}/share'
mandir='${datarootdir}/man'
no_create=
到目前为止一切顺利。 问题是:
- 我想扩展像
${prefix}/share这样的变量 - 但是管道 将所有内容写入文件example.sh并使用 bash 执行它不起作用,因为 bash 抱怨修改像UID这样的只读变量,并且扩展本身似乎也不起作用。 - 我尝试使用
makefile进行扩展,但它抱怨字符串中的换行符,就像上面的输出中的行IFS=' causes an error message Makefile:24: *** missing separator. Stop.
有人知道如何获得配置输出的完全扩展版本吗?
【问题讨论】:
-
嗨!你能解释一下你为什么要这么做吗?您的问题听起来像是您正试图以艰难的方式解决另一个问题。 (例如,如果您想检索变量的扩展值,例如
$datadir,有更简单的方法。) -
我想创建独立于它们运行的 linux 系统的 shell 脚本模板,这样我就可以创建用于设置服务器的脚本,并为第二个实例使用相同的脚本,只需要修改一些参数模板引擎我只使用搜索/替换脚本的变量来做到这一点我需要用所有变量初始化引擎,否则它们不会被替换
-
@adl 你能解释一下处理它的“简单”方法是什么。我也在努力解决这个问题
标签: variables autoconf configure expand