Forum: PC-Programmierung Dynamische radiolist in bash mit dialog


von Lucky (Gast)


Lesenswert?

Hallo zusammen,

ich verzweifele seit Stunden an einem "einfachen" Problem: Ich möchte 
unter Linux ein Script schreiben, mit dem man den LED- Trigger der evtl. 
verbauten LEDs ändern kann. Das Script schreibe ich in bash mit dialog.

Es soll eine radiolist angelegt werden, in der dann die verfügbaren LEDs 
aufgelistet sind. Diese radiolist soll dynamisch in Abhängigkeit der 
verfügbaren LEDs erstellt werden.

Die verfügbaren LEDs raussuchen funktioniert. Mein Problem: ich kriege 
diese blöde Einträge in der radiolist nicht dynamisch hin!
Ich hab ein Array, in dem die LEDs schon drin stehen. Z.B. so: 
array("led1", "led2", "led3").
Aber beim Ausführen kommen dann immer Fehler, daß die Anzahl der 
Listenelemente nicht passt :( . Hier der zuständige Code:
1
dialog --radiolist "Available LEDs:" $(($led_counter*3)) 40 $led_counter    
2
    for elements in ${led_array[@]}
3
    do
4
      ${led_array[$counter]} off
5
      counter=$((counter+1))
6
    done

Die Fehler sind diese:
LED_Trigger.sh: Zeile 29: blue:ph21:led2: Kommando nicht gefunden.
/LED_Trigger.sh: Zeile 29: boxgreen: Kommando nicht gefunden.
/LED_Trigger.sh: Zeile 29: boxred: Kommando nicht gefunden.
/LED_Trigger.sh: Zeile 29: green:ph20:led1: Kommando nicht gefunden.

Wenn ich die Array-Einträge a einzeln reinschreibe funktioniert es. Nur 
dynamisch krieg ichs nicht hin. Ich vermute da ist irgendwo was mit 
Anführungszeichen nicht richtig...

Kann da jemand helfen? Das wäre echt toll...

Danke,
Gruß

von Lucky (Gast)


Lesenswert?

Hat sich erledigt, ich habs hingekriegt. Ich hab nur nicht richtig 
verstanden, wie ich den Gesamtausdruck zusammenzubasteln hab. Jetzt 
gehts aber...

von Lof (Gast)


Lesenswert?

Andere würden sich über deine Lösung freuen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.