Replymessage unavailable
Vielen Dank für die Mühe
Ich helfe immer gerne.
ich habe jede Menge keine Ahnung, und Scripte erst recht nicht.
Das Wissen, also auch die Ahnung, kann man sich aneignen, Stück für Stück.
Was bedeuten die einzelnen Zeilen (wenn es keine Mühe macht)
Grundsätzlich ist bei einem Shell-Script die Raute (#) ein Zeichen um dem Interpreter, hier der Shell, zu signalisieren das alles was in dieser Zeile steht nicht beachtet werden soll, das wird in diesem Script dazu verwendet die Erklärung der Kommandos zu schreiben, außer bei der 1. Zeile - Andernfalls gäbe es Fehlermeldungen.
#!/bin/bash
Die erste Zeile bestimmt den Interpreter, also das Programm welches das Script ausführen soll. Es macht ja keinen Sinn ein Shell-Script an z.B. Python zu senden, das hat eine andere Syntax.
# Auswahlfenster mit Radiobuttons anzeigen
Damit wird der Shell gesagt das das geschriebene an das Programm Zenity weitergeleitet werden soll, weil die Shell weder mit der Syntax noch den Kommandos kompatibel ist, also nichts damit anfangen kann. Das würde zu einer Fehlermeldung führen in der Art:
error: "ZUSTAND=$(zenity --list --radiolist --title="Tastaturbeleuchtung" \
--column="Auswahl" --column="Modus" --column="Wert" \" nicht gefunden"
error: "TRUE "Ausschalten" "0" \" nicht gefunden"
error: " FALSE "Niedrige Helligkeit" "1" \" nicht gefunden"
error: FALSE "Hohe Helligkeit" "2" \ nicht gefunden"
error: no valid Parameter for "-" given
ZUSTAND=$(zenity --list --radiolist --title="Tastaturbeleuchtung" \
--column="Auswahl" --column="Modus" --column="Wert" \
TRUE "Ausschalten" "0" \
FALSE "Niedrige Helligkeit" "1" \
FALSE "Hohe Helligkeit" "2" \
--hide-column=3 --print --print-column=3 --width=300 --height=300)
Das was innerhalb der runden Klammern ist, ist eigentlich nur eine lange Zeile.
Für die bessere Lesbarkeit (des Schreibers) wird hier mit dem Rückwärtsschrägstrich gearbeitet, der hat in der Shell die Bedeutung dass das Kommando in der folgenden Zeile weiter geht.
Es wird ein Dialog aufgebaut der aus
⏺️ 1 Überschrift
⏺️ 2 Spalten
⏺️ 2 Spaltenüberschriften
⏺️ 3 Radiobuttons (bei Radiobutton ist immer nur einer auswählbar)
⏺️ 1 Abbruch- und 1 OK-Button besteht
Dieses TRUE und FALSE legt den einzustellenden Zustand fest, denn man dann übernehmen oder ändern kann.
--hide-column=3 --print --print-column=3 --width=300 --height=300)
Hier wird die, technisch notwendige, Spalte 3 versteckt (hide) weil sie für den Nutzer irrelevant ist. Am Ende wird die Breite & Höhe des Dialogs festgelegt, also 300x300 Pixel.