[ -z $DISPLAY ]를 사용하여 $DISPLAY를 테스트하는 목적은 무엇입니까?

[ -z $DISPLAY ]를 사용하여 $DISPLAY를 테스트하는 목적은 무엇입니까?

스크립트의 시작은 다음과 같습니다.

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

나중에 이 스크립트를 사용하여 $DIALOG사용자에게 적합한 대화 상자를 표시할 수 있습니다.

관련 정보