RE: [FRnOG] [TECH] Script mikrotik
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 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 mailto:sebastien...@live.fr>> a écrit : Essaye avec ${LD} ou "${LD}" De : frnog-requ...@frnog.org<mailto:frnog-requ...@frnog.org> mailto:frnog-requ...@frnog.org>> de la part de Kevin Thiou 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 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 > 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/
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 a écrit : > Essaye avec ${LD} ou "${LD}" > -- > *De :* frnog-requ...@frnog.org de la part de > Kevin Thiou > *Envoyé :* vendredi 6 avril 2018 15:52:26 > *À :* David Ponzone > *Cc :* 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 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 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/
RE: [FRnOG] [TECH] Script mikrotik
Essaye avec ${LD} ou "${LD}" De : frnog-requ...@frnog.org de la part de Kevin Thiou Envoyé : vendredi 6 avril 2018 15:52:26 À : David Ponzone Cc : 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 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 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/
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 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 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/
Re: [FRnOG] [TECH] Script mikrotik
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 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/
Re: [FRnOG] [TECH] Script mikrotik
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/