[Shell script] Export de variable d'un script

Résolu
Blanc57 Messages postés 377 Statut Membre -  
 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 ?

:)
A voir également:

4 réponses

lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
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 377 Statut Membre 73
 
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
Nidiel
 
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
Dark Hylian
 
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