Parceque j'ai lu trop rapidement....
Le print de i te donne vraiment rien ? Perso je fais plutôt ${i} Check_VARIABLE=(_VAL1_ _VAL2_ _VAL3_ _VAL4_ _) for i in "${Check_VARIABLE[@]}" do if [ -z "${!i}" ] ; then # ERREUR : FIN DU PROGRAMME /bin/rm ${TASK_IN_LOAD} exit fi done ________________________________ De : Kevin Thiou <kevinth...@gmail.com> Envoyé : vendredi 6 avril 2018 16:21:11 À : Sébastien 65 Cc : David Ponzone; frnog-t...@frnog.org Objet : Re: [FRnOG] [TECH] Script mikrotik Pourquoi LD ? mes valeurs de i sont LD1, LM1, LDV1, LV2, LM2, LDV2. Cdt Le 6 avril 2018 à 16:16, Sébastien 65 <sebastien...@live.fr<mailto:sebastien...@live.fr>> a écrit : Essaye avec ${LD} ou "${LD}" ________________________________ De : frnog-requ...@frnog.org<mailto:frnog-requ...@frnog.org> <frnog-requ...@frnog.org<mailto:frnog-requ...@frnog.org>> de la part de Kevin Thiou <kevinth...@gmail.com<mailto:kevinth...@gmail.com>> Envoyé : vendredi 6 avril 2018 15:52:26 À : David Ponzone Cc : frnog-t...@frnog.org<mailto:frnog-t...@frnog.org> Objet : Re: [FRnOG] [TECH] Script mikrotik J'ai réussi a mettre le $ devant mais je pense que le routerOS interprète le $LD1 comme une valeur et pas comme une variable. :foreach i in $LOGIN do={:global temp ("\$" . "$i"); :interface pppoe-client monitor $i once do={:put $temp; :set ($temp->"operstatus") $status}} $LD1 status: connected Le 6 avril 2018 à 15:29, Kevin Thiou <kevinth...@gmail.com<mailto:kevinth...@gmail.com>> a écrit : > Je me doutais bien que c'était ca, j'ai essayé beaucoup de \$ "\$" "\$". > ... > > mais pas encore trouvé. > > Merci > > Le 6 avril 2018 à 15:27, David Ponzone > <david.ponz...@gmail.com<mailto:david.ponz...@gmail.com>> a écrit : > >> A priori, ton ($i->"operstatus") devient (LD1->"operstatus") >> >> Or pour faire un set dans l'array LD1, il faut que ça soit >> ($LD1->"operstatus") >> J'ai pas encore trouvé comment mettre le $ supplémentaire ceci dit, mais >> ça te fait un bon sujet de recherche pour cette fin de journée :) >> >> Le 6 avr. 2018 à 14:40, Kevin Thiou a écrit : >> >> > bonjour, >> > >> > j'essai de faire un script qui récupère des infos sur les sessions >> pppoe, >> > pour les stocker dans un array. >> > >> > Déclaration de mes array >> > :global LD1 {user="" ; interface="ether1"; operstatus="" ; admstatus=""; >> > upcounter=0} >> > :global LM1 {user="" ; interface="ether1"; operstatus="" ; admstatus=""; >> > upcounter=0} >> > :global LDV1 {user="" ; interface="ether1"; operstatus="" ; >> admstatus=""; >> > upcounter=0} >> > :global LV2 {user="" ; interface="ether1"; operstatus="" ; admstatus=""; >> > upcounter=0} >> > :global LM2 {user="" ; interface="ether1"; operstatus="" ; admstatus=""; >> > upcounter=0} >> > :global LDV2 {user="" ; interface="ether1"; operstatus="" ; >> admstatus=""; >> > upcounter=0} >> > >> > Déclaration d'un array rassemblant mes logins >> > :global LOGIN {"LD1"; "LM1"; "LDV1"; "LV2"; "LM2"; "LDV2"} >> > >> > boucle pour récupérer les infos >> > :foreach i in $LOGIN do={:interface pppoe-client monitor $i once >> do={:set >> > ($i->"operstatus") $status}} >> > >> > Résultat, rien, ça ne fonctionne pas >> > >> > Une idée ? >> > >> > Merci >> > >> > --------------------------- >> > Liste de diffusion du FRnOG >> > http://www.frnog.org/ >> >> > --------------------------- Liste de diffusion du FRnOG http://www.frnog.org/ --------------------------- Liste de diffusion du FRnOG http://www.frnog.org/