¿Cuál es el propósito de probar $DISPLAY con [ -z $DISPLAY ]?

¿Cuál es el propósito de probar $DISPLAY con [ -z $DISPLAY ]?

Al principio del guión se encuentra:

if [ -z $DISPLAY ]
then
  DIALOG=dialog
else
  DIALOG=Xdialog
fi

Entiendo que

  • $DISPLAYcontiene el valor del pseudo-terminal al que está adjunto
  • [ -z $DISPLAY ]prueba si $DISPLAY tiene un valor o es una cadena vacía

¿Cuál es el propósito de $DISPLAYmantener un valor, en qué se diferencia cuando tiene una cadena vacía? ¿Por qué sería crucial para la posterior ejecución del script saber si [ -z $DISPLAY ]es verdadero o falso?

Respuesta1

Cualquiera que sea este script, utiliza el $DISPLAYvalor para determinar si se está ejecutando en un entorno X11 o no (si el script se ejecuta, por ejemplo, en un entorno de escritorio, $DISPLAYse configurará). No le importa en absoluto el valor real.

  • Si se ejecuta en X11, se configura DIALOGen Xdialog, que presumiblemente es un programa X11 para mostrar cuadros de diálogo.

  • Si no se ejecuta en X11 (por ejemplo, en una máquina sin cabeza o en una sesión SSH), se configura DIALOGen dialog, que presumiblemente es un programa de curses (o al menos basado en texto) para mostrar cuadros de diálogo.

Más adelante, el script podrá utilizar $DIALOGpara mostrar un cuadro de diálogo apropiado para el usuario.

información relacionada