No início de um script está:
if [ -z $DISPLAY ]
then
DIALOG=dialog
else
DIALOG=Xdialog
fi
Eu entendi aquilo
$DISPLAY
contém o valor ao qual um pseudo-terminal está anexado[ -z $DISPLAY ]
testa se $DISPLAY tem um valor ou é uma string vazia
Qual o propósito de $DISPLAY
manter um valor, o que é diferente quando ele possui uma string vazia? Por que seria crucial para a execução posterior do script saber se [ -z $DISPLAY ]
é verdadeiro ou falso?
Responder1
Qualquer que seja esse script, ele está usando o $DISPLAY
valor para determinar se está sendo executado em um ambiente X11 ou não (se o script estiver sendo executado, por exemplo, em um ambiente de desktop, $DISPLAY
será definido). Ele não se importa com o valor real.
Se estiver rodando no X11, ele é definido
DIALOG
comoXdialog
, que presumivelmente é um programa X11 para exibir caixas de diálogo.Se não estiver rodando no X11 (por exemplo, estiver em uma máquina headless ou em uma sessão SSH), ele será definido
DIALOG
comodialog
, que presumivelmente é um programa de maldições (ou pelo menos baseado em texto) para exibir caixas de diálogo.
Posteriormente, o script pode ser usado $DIALOG
para exibir uma caixa de diálogo apropriada para o usuário.