[fli4l] Skript: Abfrage + Verarbeitung des Zustands mehrerer Geräte - generisch gehalten

Thomas Grunenberg tho_gru at gmx.de
Mo Mär 13 16:54:56 CET 2017


Am 13.03.2017 um 13:45 schrieb K. Dreier:
> Hallo Thomas,
>
> danke fürs Feedback!
>
>> So etwas geht ganz allgemein mit Listen oder Arrays
>
> Ok. Ich habe da mal etwas rumgelesen und habe mehrere Sachen gefunden.
> Nicht ganz klar ist immer, was davon auch unter sh läuft und nicht nur
> unter bash. Kann noch nicht testen, deswegen zunächst mal ein paar
> Ideen meinerseits. Feedback wäre toll.
> Zunächst geht es erstmal um das korrekte Definieren des Arrays. Die
> Verarbeitung kommt dann im nächsten Schritt.
>
> Variante 1:
>
> devices=""
> devices="${devices} DEVICENAME1"
> devices="${devices} DEVICENAME2"
> devices="${devices} DEVICENAME3"
>
> # one name at a time
> for device in ${devices}; do
> echo ${device};
> done
> # all together now
> echo ${devices}
>
> --> für mich ist die visuelle Ausgabe der devices nicht relevant, da
> ich nur den Inhalt der Variable/des Arrays brauche im Rahmen der
> "Verarbeitung". Die obige Darstellung ist also nur des Prinzips wegen
> hier und zum Testen.
>
> # count and output elements/devices in array, where the count starts at
> 0
> devices_amount=${#devices[@]}
>
> # dieser Teil wird so vermutlich nicht funktionieren; auch sehe ich
> aktuell gar keinen Grund, die devices zu zählen?!
> for i=0; i<${devices_amount}; i++;
> do
> echo ${#devices[@]}
> done
>
> Variante 2 zum Definieren des Arrays:
>
> devices[0]="DEVICENAME0"
> devices[1]="DEVICENAME1"
> devices[2]="DEVICENAME2"
> devices[3]="DEVICENAME3"
> echo "First Method: ${devices[*]}"
> echo "Second Method: ${devices[@]}"
>
> Gibt es hier Dinge, die a) mit sh nicht funktionieren und/oder
> b)generell falsch sind? Welche der beiden Varianten wäre richtig unter
> /bin/sh?
>
> Gruß
> Klaus
>
Hallo Klaus,

Ich würde das einfach direkt auf Deinem fli4l testen (per ssh anmelden, 
script schreiben & testen). Am besten fängst Du mit einem einfachen 
Beispiel an...

Falls ich das richtig verstanden habe, stellt die busy box auf dem fli4l 
eine ash unter dem Namen /bin/sh bereit.

Gruß
Thomas


Mehr Informationen über die Mailingliste Fli4L