J'ai créé un fichier configure.ac comme ceci:Comment obtenir des variables entièrement développées hors de configurer?
AC_INIT()
set
le but est d'imprimer toutes les variables de l'environnement disponible le script de configuration crée à l'aide set
, donc je fais ceci:
[email protected]:~$ autoconf
[email protected]:~$ ./configure
qui imprime un tas de variables comme
build=
cache_file=/dev/null
IFS='
'
LANG=C
LANGUAGE=C
datarootdir='${prefix}/share'
mandir='${datarootdir}/man'
no_create=
Jusqu'ici tout va bien. Le problème est:
- Je veux développer les variables comme
${prefix}/share
- mais la tuyauterie tout à un fichierexample.sh
et l'exécuter en utilisant bash ne fonctionne pas, parce que bash se plaint de la modification de variables en lecture seule commeUID
et l'expansion elle-même ne semble pas fonctionner non plus. - J'ai essayé d'utiliser un
makefile
pour ce où travaille l'expansion, mais il se plaint de nouvelles lignes dans les chaînes, comme dans la sortie au-dessus de la ligneIFS=' causes an error message Makefile:24: *** missing separator. Stop.
Est-ce que quelqu'un a une idée comment obtenir une version complète élargie de configuration de sortie?
Salut! Pourriez-vous expliquer pourquoi vous aimeriez faire cela? Votre question semble être que vous essayez de résoudre un autre problème à la dure. (Par exemple, si vous voulez récupérer la valeur étendue d'une variable telle que '$ datadir', il existe des façons plus simples de le faire.) – adl
Je veux créer des modèles de script shell indépendants du système Linux sur lequel ils s'exécutent donc je peut créer des scripts pour configurer un serveur et utiliser le même script pour une seconde instance qui ne nécessite que la modification de quelques paramètres le moteur de modèle im en utilisant simplement rechercher/remplacer les variables du script pour ce faire j'ai besoin d'initialiser le moteur avec tous les variables ou ils ne seront pas remplacés –
@adl pouvez-vous expliquer quelle est la façon «facile» de faire face à cela. Je suis également aux prises avec ce problème –