Ganz am Anfang eines Skripts steht:
if [ -z $DISPLAY ]
then
DIALOG=dialog
else
DIALOG=Xdialog
fi
Ich verstehe das
$DISPLAY
enthält den Wert des Pseudoterminals, an das eins angeschlossen ist[ -z $DISPLAY ]
testet, ob $DISPLAY einen Wert hat oder ein leerer String ist
Was ist der Zweck des $DISPLAY
Beibehaltens eines Wertes, was ist anders, wenn er eine leere Zeichenfolge enthält? Warum ist es für die weitere Ausführung des Skripts entscheidend zu wissen, ob [ -z $DISPLAY ]
wahr oder falsch ist?
Antwort1
Was auch immer dieses Skript ist, es verwendet den $DISPLAY
Wert, um zu bestimmen, ob es in einer X11-Umgebung ausgeführt wird oder nicht (wenn das Skript beispielsweise in einer Desktop-Umgebung ausgeführt wird, $DISPLAY
wird es festgelegt). Der tatsächliche Wert ist ihm völlig egal.
Wenn es unter X11 ausgeführt wird, wird es
DIALOG
auf gesetztXdialog
, wobei es sich vermutlich um ein X11-Programm zum Anzeigen von Dialogfeldern handelt.Wenn es nicht unter X11 ausgeführt wird (z. B. auf einem Headless-Computer oder in einer SSH-Sitzung), wird es
DIALOG
auf gesetztdialog
, wobei es sich vermutlich um ein Curses-Programm (oder zumindest ein textbasiertes Programm) zum Anzeigen von Dialogfeldern handelt.
Später kann das Skript $DIALOG
dazu verwendet werden, ein für den Benutzer geeignetes Dialogfeld anzuzeigen.