스크립트의 맨 처음에는 다음이 표시됩니다.
if [ -z $DISPLAY ]
then
DIALOG=dialog
else
DIALOG=Xdialog
fi
나는 이해
$DISPLAY
의사 터미널 1이 연결된 값을 보유합니다.[ -z $DISPLAY ]
$DISPLAY에 값이 있는지 또는 빈 문자열인지 테스트합니다.
값을 유지 하는 목적은 무엇이며 $DISPLAY
, 빈 문자열이 있을 때 다른 점은 무엇입니까? 스크립트를 추가로 실행할 때 [ -z $DISPLAY ]
true인지 false 인지 아는 것이 왜 중요한가요 ?
답변1
$DISPLAY
이 스크립트가 무엇이든 X11 환경에서 실행 중인지 여부를 결정하기 위해 값을 사용합니다 (예: 데스크톱 환경에서 스크립트가 실행 중인 경우 $DISPLAY
설정됨). 실제 가치에는 전혀 관심이 없습니다.
X11에서 실행 중인 경우
DIALOG
로 설정되는데Xdialog
, 이는 아마도 대화 상자를 표시하기 위한 X11 프로그램일 것입니다.X11에서 실행되지 않는 경우(예: 헤드리스 시스템 또는 SSH 세션에서)
DIALOG
로 설정됩니다dialog
. 이는 아마도 대화 상자를 표시하기 위한 저주(또는 적어도 텍스트 기반) 프로그램일 것입니다.
나중에 스크립트를 사용하여 $DIALOG
사용자에게 적합한 대화 상자를 표시할 수 있습니다.