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

Blanc57 367 Messages postés vendredi 6 avril 2007Date d'inscription 27 août 2015 Dernière intervention - 9 avril 2007 à 22:57 - Dernière réponse :  Dark Hylian
- 5 janv. 2008 à 23:33
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 ?

:)
Afficher la suite 

4 réponses

lami20j 21513 Messages postés jeudi 4 novembre 2004Date d'inscriptionContributeur sécuritéStatut 8 octobre 2012 Dernière intervention - 10 avril 2007 à 08:02
+2
Utile
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
Cette réponse vous a-t-elle aidé ?  
Blanc57 367 Messages postés vendredi 6 avril 2007Date d'inscription 27 août 2015 Dernière intervention - 10 avril 2007 à 08:17
0
Utile
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...
0
Utile
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.
Dark Hylian - 5 janv. 2008 à 23:33
0
Utile
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.