9
votes

Comment exporter des variables d'environnement séparées DOT

L'exécution de xxx

me donne xxx

est-il possible d'avoir des propriétés du système avec points à l'intérieur? Si oui, comment cela?


0 commentaires

4 Réponses :


1
votes

BASH permet uniquement aux caractères "_" et alpha numériques des noms de variables. Les '.' n'est pas autorisé.

http://tldp.org/ldp/abs/html/gotchas.html < / a>


0 commentaires

17
votes

Comme d'autres l'ont dit, Bash ne l'autorise pas, vous devrez donc utiliser votre langue de script préférée pour le faire. Par exemple, dans Perl:

 env 'property.name=property.value' bash # start a subshell, or
 env 'property.name=property.value' command arg1 arg2 ...   # Run your command


1 commentaires

@MarkedGar: Oui, env fonctionne. Je ne savais pas que cela pourrait être utilisé pour Définir des variables d'environnement , je ne l'ai jamais utilisé que pour Afficher les variables d'environnement .



4
votes

J'ai passé une meilleure partie de cet après-midi à essayer de comprendre comment accéder à des biens de Jenkins (pour réussir les paramètres de travail Jenkins utilise le format de propriété avec un point) - c'était une bonne idée de Adrian et oui, il fonctionne pour la lecture propriétés dans le script aussi. J'étais à perte quant à quoi faire, mais j'ai essayé: XXX

Ceci a très bien fonctionné. Mais bien sûr, cela fonctionne dans une coquille qui a été lancée avec la propriété définie dans l'environnement déjà, c'est-à-dire à l'exemple de Adrian, cela pourrait fonctionner dans un script de démarrage de l'instance Bash appelée à Perl Exemple qu'il a fourni. Ce ne serait pas si ce sniplet Perl n'était mis dans la même coquille qu'après son exemple de Perl.

au moins j'ai appris quelque chose cet après-midi, donc pas tout ce temps est un gaspillage.


0 commentaires

2
votes

Si vous exportez ces propriétés pour exécuter une application, certains programmes peuvent prendre en charge la définition de la propriété système comme option et permettre . dans le nom de la propriété.

dans Java World, la plupart des outils Prise en charge de la propriété Système de système par -D option, par exemple. Vous pouvez définir la propriété système avec DOT comme celui-ci -DProperty.name = Property.Value .


1 commentaires

Je devais définir une variable env For Server Java, alors pour moi Exporter Export Java_opts = "$ Java_opts -Dspring.profiles.active = Quelconte"