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 <[email protected]>
Envoyé : vendredi 6 avril 2018 16:21:11
À : Sébastien 65
Cc : David Ponzone; [email protected]
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
<[email protected]<mailto:[email protected]>> a écrit :
Essaye avec ${LD} ou "${LD}"
________________________________
De : [email protected]<mailto:[email protected]>
<[email protected]<mailto:[email protected]>> de la part de Kevin
Thiou <[email protected]<mailto:[email protected]>>
Envoyé : vendredi 6 avril 2018 15:52:26
À : David Ponzone
Cc : [email protected]<mailto:[email protected]>
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
<[email protected]<mailto:[email protected]>> 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
> <[email protected]<mailto:[email protected]>> 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/