![[ -z $DISPLAY ] を使用して $DISPLAY をテストする目的は何ですか?](https://rvso.com/image/112355/%5B%20-z%20%24DISPLAY%20%5D%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20%24DISPLAY%20%E3%82%92%E3%83%86%E3%82%B9%E3%83%88%E3%81%99%E3%82%8B%E7%9B%AE%E7%9A%84%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
スクリプトの冒頭には次の記述があります:
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
ユーザーに適したダイアログ ボックスを表示できます。