スクリプトの冒頭には次の記述があります:
if [ -z $DISPLAY ]
then
DIALOG=dialog
else
DIALOG=Xdialog
fi
という事は承知しています
$DISPLAY
擬似端末が接続されている値を保持する[ -z $DISPLAY ]
$DISPLAY に値があるか、空の文字列であるかをテストします。
値を保持する目的は何ですか、空の文字列の場合と何が違うのですか? スクリプトの以降の実行で、 true か false$DISPLAY
かを知ることが重要なのはなぜですか?[ -z $DISPLAY ]
答え1
このスクリプトが何であれ、値を使用して、$DISPLAY
X11 環境で実行されているかどうかを判断します (スクリプトがデスクトップ環境などで実行されている場合は、$DISPLAY
設定されます)。実際の値についてはまったく考慮されません。
X11 で実行されている場合は に設定されます
DIALOG
。Xdialog
これは、ダイアログ ボックスを表示するための X11 プログラムであると考えられます。X11 で実行されていない場合 (たとえば、ヘッドレス マシン上または SSH セッション内) は に設定されます。
DIALOG
これdialog
は、ダイアログ ボックスを表示するための curses (または少なくともテキストベース) プログラムであると考えられます。
後で、スクリプトを使用して、$DIALOG
ユーザーに適したダイアログ ボックスを表示できます。