[Shell script] Export de variable d'un script

Résolu/Fermé
Blanc57 Messages postés 366 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 27 janvier 2020 - 9 avril 2007 à 22:57
 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 ?

:)
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 avril 2007 à 08:02
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
Blanc57 Messages postés 366 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 27 janvier 2020 73
10 avril 2007 à 08:17
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
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.
0
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.
0