腳本的開頭是:
if [ -z $DISPLAY ]
then
DIALOG=dialog
else
DIALOG=Xdialog
fi
我明白那個
$DISPLAY
保存附加到哪個偽終端的值[ -z $DISPLAY ]
測試 $DISPLAY 是否有值或是空字串
$DISPLAY
保留一個值的目的是什麼,當它有一個空字串時有什麼不同?為什麼知道[ -z $DISPLAY ]
真假對於腳本的進一步執行至關重要?
答案1
無論這個腳本是什麼,它都使用該$DISPLAY
值來確定它是否在 X11 環境中運行(如果腳本在桌面環境中運行,$DISPLAY
則將被設定)。它根本不關心實際價值。
如果它在 X11 中運行,則設定
DIALOG
為Xdialog
,這可能是用於顯示對話方塊的 X11 程式。如果它不是在 X11 中運行(例如,它在無頭電腦上或在 SSH 會話中),則它被設定
DIALOG
為dialog
,這可能是用於顯示對話方塊的curses(或至少基於文字的)程式。
稍後,該腳本可以用來$DIALOG
顯示適合使用者的對話框。