Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1210 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  PB création et utilisation VAR environement.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PB création et utilisation VAR environement.

n°2007336
Sm@No
Posté le 06-07-2010 à 11:20:59  profilanswer
 

Bonjour,
 
Sur un système Unix je n'arrive pas a stocké une valeur dans une VAR environnement a partir d'un script.
 
Bon pour être claire je test sur un Linux un script de redondance de ligne a intégrer sur un Netasq.
 
J'ai une variable L1UP que je souhaiterai utiliser dans ce mm script 10 secondes après son exécution...
Le cron du Netasq me permet de faire l'exécution du script toute les 10 secondes.
 
je créer ma variable avant:
 
export L1UP=0
 

Code :
  1. #!/bin/sh
  2. #script slot VPN: N le numero du slot IP1 ligne principale IP2 redondance.
  3. set
  4. IP1=192.101.101.33
  5. IP2=192.101.101.70
  6. N1=08
  7. N2=10
  8. ping -c 1 $IP1 >/dev/null 2>&1
  9. R1=$?
  10. ping -c 1 $IP2 >/dev/null 2>&1
  11. R2=$?
  12. if [ "$R1" = "1" ]; then
  13. if [ "$R2" = "0" ]; then
  14. if [ "$L1UP" != "1" ]; then
  15. echo "envpn $N2";
  16. L1UP=1
  17. export L1UP
  18. fi
  19. fi
  20. fi
  21. if [ "$R1" = "0" ]; then
  22. if [ "$L1UP" = "1" ]; then
  23. echo "envpn $N1";
  24. L1UP=0
  25. export L1UP
  26. fi
  27. fi
  28. echo "$L1UP"
  29. exit


 
C'est la première fois que je test comme ca et ca ne marche pas... Dommage ca m'évite de stocker dans un fichier text.
Un grand merci car tout ce que je lit C qu'il fraudais mettre la variable dans le fichier text des Var env.
Je pense qu'il faut trouver un moyen d'exécuter le script dans le shell de la machine?
D'avance un grand merci a celui qui peut m'éclairer.

mood
Publicité
Posté le 06-07-2010 à 11:20:59  profilanswer
 

n°2007441
aigles
Posté le 06-07-2010 à 15:40:56  profilanswer
 

ça ne peut pas fonctionner car la variable est crée dans l'environnement d'exécution du script qui est détruit en sortie. L'exécution suivante du script se fera dans un nouvel environnement.
 
Je ne vois pas d'autre solution que de passer par un fichier intermédiaire.  

Code :
  1. #!/bin/sh
  2. #script slot VPN: N le numero du slot IP1 ligne principale IP2 redondance.
  3. # Recup valeur L1UP
  4. envFile=/path/l1up.env
  5. [ -f $envFile] &&  . $envFile
  6. L1UP=${L1UP:-0}
  7.  
  8. set
  9. IP1=192.101.101.33
  10. IP2=192.101.101.70
  11. N1=08
  12. N2=10
  13. ping -c 1 $IP1 >/dev/null 2>&1
  14. R1=$?
  15. ping -c 1 $IP2 >/dev/null 2>&1
  16. R2=$?
  17. if [ "$R1" = "1" -a "$R2" = "0" -a "$L1UP" != "1" ]; then
  18.    echo "envpn $N2";
  19.    L1UP=1
  20. fi
  21. if [ "$R1" = "0" -a "$L1UP" = "1" ]; then
  22.    echo "envpn $N1";
  23.    L1UP=0
  24. fi
  25. echo "$L1UP"
  26. # Mémorise variable L1UP
  27. echo "export L1UP=$L1UP" > $envFile
  28. exit


 
Jean-Pierre.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  PB création et utilisation VAR environement.

 

Sujets relatifs
[Résolu] utilisation de onclick et location.hrefPHP Pb de sortie de boucle
Pb Latest Post JqueryCalculer le temps passé depuis la dernière utilisation du PC
Création formulaire de recherche très simple depuis données excelPetite image déco en arrière-plan -> positionnement ?
Pb hero slide jquery imagesLister les fichiers par date de creation
Creation de site communautaire - aide svp 
Plus de sujets relatifs à : PB création et utilisation VAR environement.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR