[Shell script] Export de variable d'un script [Résolu/Fermé]

Signaler
Messages postés
366
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
27 janvier 2020
-
 Dark Hylian -
Bonjour à tous,

Je viens de mettre un VPN PPTP en place sur un serveur Linux.

Je suis en IP dynamique, alors j'ai écrit un petit script qui récupère l'adresse IP de l'interface du modem ppp0.

J'aimerai pouvoir récupérer la variable de ce script et l'intégrer à la config de pptpd.

Seulement la variable n'est valable que dans le script, une fois executé elle n'est pas conservée en mémoire.

Est-il possible de la conserver en mémoire ?
Si oui, de quelle manière ?

:)

4 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 542
Salut,

tu peux créer une variable d'environnement

par exemple si tu mets dans le fichier de configuration de ton shell (dans mon cas c'est .bashrc)
export IP=$(/sbin/ifconfig eth0 | grep -Eo 'adr:([0-9]{1,3}\.){3}[0-9]{1,3}' | cut -d: -f2)
tu auras accès à la variable IP
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
366
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
27 janvier 2020
68
Effectivement, j'avais pas pensé à ça...
En plus ta syntaxe pour récupérer l'adresse est plus simple et mieux foutue que la mienne. (je passais par deux variables, une première qui supprimer le préfixe avant l'adresse et la seconde qui reprenait la première et supprimait le suffixe...)


Merci beaucoup du tuyau :) C'est sympa...
Bonjour,
Ajouter la variable d'environement dans .bashrc marche mais lorsque j'essai dans un script, une fois sorti du script la variable n'existe plus.
Comment fair pour la conserver une fois le script termine ?
Merci.
Salut,

Je pense que si tu ajoute IP=$(/sbin/ifconfig eth0 | grep -Eo 'adr:([0-9]{1,3}\.){3}[0-9]{1,3}' | cut -d: -f2) dans le fichier /etc/environment ca y sera une fois pour toute.

Une fois que t'as écris ca, passe la commande source /etc/environment.
Si tout se passe bien, env t'indiquera quelque part que tu as bien ta variable, si c'est pas le cas, redémare le pc. Et là, ô miracle, ca devrait etre bon ...

Bonne journée.