Я создал configure.ac файл вроде этого:Как получить полностью расширенные переменные из конфигурации?
AC_INIT()
set
цель это напечатать все доступные переменные среды конфигурационный скрипт создает с помощью set
, поэтому я делаю это:
[email protected]:~$ autoconf
[email protected]:~$ ./configure
который печатает кучу переменных, таких как
build=
cache_file=/dev/null
IFS='
'
LANG=C
LANGUAGE=C
datarootdir='${prefix}/share'
mandir='${datarootdir}/man'
no_create=
Пока все хорошо. Проблема заключается в том:
- Я хочу, чтобы расширить переменные как
${prefix}/share
- но обжигающе все в файлexample.sh
и выполнение его с помощью Баш не работает, потому что Баш жалуется на изменение только для чтения переменных, какUID
и само развертывание тоже не работает. - Я попытался с помощью
makefile
для этого, где работает расширение, но он жалуется на переводы строк в строках, как в приведенном выше выводе линииIFS=' causes an error message Makefile:24: *** missing separator. Stop.
Кто-нибудь есть идея, как получить полностью укомплектованную версию Configure-х вывод?
Привет! Не могли бы вы объяснить, почему вы хотели бы это сделать? Ваш вопрос звучит так, будто вы пытаетесь решить другую проблему сложным образом. (Например, если вы хотите получить расширенное значение переменной, например '$ datadir', для нее есть более простые способы.) – adl
Я хочу создать шаблоны сценариев оболочки, не зависящие от системы Linux, на которой они работают на , поэтому я может создавать сценарии для настройки сервера и использовать тот же скрипт для второго экземпляра, который нуждается только в модификации нескольких параметров шаблона engine im, используя только поиск/замену переменных сценария для этого мне нужно инициализировать движок всеми переменные или их не заменит –
@adl вы можете объяснить, что такое «легкий» способ справиться с этим. Я также борюсь с этой проблемой –