Menu

[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

Meilleure réponse
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
Merci
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

Merci lami20j 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 22627 internautes ce mois-ci

Blanc57 367 Messages postés vendredi 6 avril 2007Date d'inscription 27 août 2015 Dernière intervention - 10 avril 2007 à 08:17
0
Merci
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
Merci
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
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.