DIALOG(1)

명칭
dialog - 셸 스크립트로부터 다이알로그 박스를 표시한다

서식
dialog --clear
dialog --create-rc file
dialog [ --title title ] [ --clear ] [ --hline line ] [ --hfile file ] box-options

해설
dialog (은)는 셸 스크립트로부터, 질문 형식, 메세지 표시 형식 등, 여러가지 종류의 다이알로그 박스를 표시하는 프로그램입니다. 현재 서포트되고 있는 다이알로그 박스는 이하대로입니다.

yes/no 박스, menu 박스, input 박스, message 박스, text 박스, info 박스, checklist 박스, program 박스, ftree 및 tree 박스입니다.

옵션

--clear
    종료시에 화면을 클리어 합니다.

--create-rc file
    dialog (은)는 런타임 배치를 서포트하고 있습니다. file 에 샘플의 설정 파일을 써냅니다.

--title title
    다이알로그 박스의 최상행에 표시하는 캐릭터 라인 title (을)를 지정합니다.

--hline line
    다이알로그 박스의 최하행에 표시하는 캐릭터 라인 line (을)를 지정합니다.

--hfile file
    ? 키나 F1 키를 타이프 쳤을 때에 표시한다 file (을)를 지정합니다.

박스 옵션

--yesno text height width
    세로 height 횡 width 의 사이즈의 yes/no 다이알로그 박스를 표시합니다. text 그리고 지정된 캐릭터 라인은 다이알로그 박스의 내부에 표시됩니다. 이 캐릭터 라인이 너무 길어, 1행으로 표시할 수 없는 경우는, 자동적으로 복수행으로 분할됩니다. text 하지만 캐릭터 라인 "\n" 혹은 개행 캐릭터 `\n' (을)를 포함하고 있는 경우, 그 자리소에서 개행합니다. 이 다이알로그 박스는 유저에게 yes 혹은 no 라고 하는 대답을 요구한다 때에 도움이 됩니다. 다이알로그 박스는 Yes (와)과 No 의 버튼을 가지고 있어 TAB 키로 선택할 수가 있습니다.

--msgbox text height width
    message 박스는 yes/no 박스와 닮아 있습니다만, message 박스의 경우, OK 버튼 밖에 표시되지 않습니다. 이 다이알로그 박스를 사용해, 메세지를 표시 할 수가 있습니다. 유저는 이 메세지를 읽은 후, ENTER 키를 눌러, dialog (을)를 종료해, 셸 스크립트의 실행을 계속하게 됩니다.

--infobox text height width
    info 박스는 기본적으로 message 박스와 같습니다만, 메세지를 표시하면(자) 곧바로 종료합니다. dialog 의 종료시에 화면은 클리어 되지 않습니다. 메세지는 쉘이 다음에 화면을 클리어 할 때까지 남습니다. 이것은 종료까지 시간이 걸리는 처리를 실시하는 것을, 유저에게 알릴 때 편리합니다.

--inputbox text height width
    input 박스는 유저에게 캐릭터 라인을 입력시킨다 때에 도움이 됩니다. 입력시에 백 스페이스 키를 누르는 것으로, 타입 미스를 정정할 수가 있습니다. 입력 캐릭터 라인이 다이알로그 박스보다 길어졌다 경우는, 입력 필드가 스크롤 합니다. 종료시에는 입력된 캐릭터 라인을 stderr 에 출력합니다.

--textbox file height width
    text 박스는, 텍스트 파일의 내용을 다이알로그 박스안에 표시하기 위한의 것입니다. 이것은 간단한 텍스트 파일 viewer의 같은 것입니다. 표시중은, UP/DOWN,PGUP/PGDN,HOME/END 키를 사용해 파일중을 이동할 수 있습니다. 1 행이 다이알로그 박스보다 긴 경우는, LEFT/RIGHT (으)로 좌우에 스크롤 할 수 있습니다. 보다 편리하게 사용하기 위해서(때문에), 전방 검색, 후방 검색의 기능도 실장되고 있습니다.

--menu text height width menu-height [ tag item ] ...
    menu 박스는, 그 이름대로 다이알로그 박스에 리스트를 표시해 유저로 선택하게 하는 것입니다. 각 메뉴는 tag (와)과 item (으)로 구성됩니다. tag (은)는 다른 항목과 구별하기 위한의 것입니다. item (은)는 그 항목이 나타내는 내용을 짧게 기술한 것입니다. 유저는 UP/DOWN 키, 또는 tag 의 선두 캐릭터, 1-9 (을)를 누르는 것으로 항목을 선택할 수 있습니다. menu-height (은)는 한 번에 표시할 수 있는 메뉴의 수를 설정합니다. menu-height 보다 많은 항목이 있는 경우, 메뉴가 스크롤 합니다. dialog (을)를 종료할 때, 선택된 메뉴의 tag 하지만 stderr 에 출력됩니다.

--prgbox command height width
    program 박스는 command 의 출력을 다이알로그 박스에 표시합니다.

--checklist text height width list-height [ tag item status ] ...
    checklist 박스는, 메뉴로부터 항목을 선택한다고 하는 점으로 menu 박스와 닮아 지금이, 항목 속으로부터 1 개(살)을 선택하는 것이 아니라, 유저가 각 항목을 온·오프로 설정할 수가 있습니다. 각 항목의 온·오프의 초기설정은 status 그리고 설정할 수 있습니다. 종료시에는, 스테이터스가 온이 되어 있는 항목의 tag 하지만 stderr 에 출력됩니다.

--ftree file FS text height width menu-height
    ftree 박스는, 파일 file 에 기술된 데이터를 기초로 트리를 표시하는 다이알로그 박스입니다. 파일내의 데이터는, find(1)의 출력 형식과 같이 보입니다. find 의 출력의 경우, 필드 구분자 FS 하 '/' (이)가 됩니다. height 및 width 하지만 정의 값의 경우, ftree 박스 전체의 절대적인 크기를 설정합니다. height 및 width 하지만 부의 값의 경우, ftree 박스의 크기는, 자동적으로 선택됩니다. menu-height (은)는, ftree 박스 내부의 트리 서브 윈도우의 높이를 설정하기 때문에, 지정할 필요가 있습니다. text (은)는, ftree 박스 내부의 트리 서브 윈도우 상부에 표시되어 행을 분할하기 위해서 개행 캐릭터 '\n' (을)를 포함하는 것이 가능합니다. UP/DOWN 또는 '+'/'-',PG_UP/PG_DOWN 또는 'b'/SPACE , 그리고HOME/END 또는 'g'/'G' (을)를 누르는 것으로, 트리 내부를 이동하는 것이 가능합니다. 리프의 선택은, TAB 또는 LEFT/RIGHT 그리고 OK 버튼으로 이동하고 나서 ENTER (을)를 누릅니다. 선택한 리프 (보다 정확하게는, 트리의 루트로부터 리프까지의 완전한 패스) 하지만 stderr 에 표시됩니다. Cancel 의 후에 ENTER (을)를 누르면(자), stderr 에는 아무것도 표시되지 않습니다. file 에는 find(1) 형식의 출력을 포함하는 것이 가능합니다만, find(1)를 -d 옵션 첨부로 기동한 출력과 같은 형식도 사용 가능합니다. 트리의 리프에의 중간의 패스는, 없어도 괜찮습니다. 그러한 데이터는, 파일로부터의 읽기시에 수정됩니다.

--tree FS text height width menu-height [ item ] ...
    tree 박스는, ftree (을)를 닮아 있습니다만, 예외가 있습니다. 제 1 에, 데이터는 파일로부터 입력되는 것이 아니라, 명령행으로부터 item item ... 의 형식에서 읽힙니다. 제 2 에, 데이터의 수정은 어떠한 경우에도 행해지지 않습니다. 따라서, find(1)를 -d 옵션 첨부로 기동한 형식의 데이터는 부정하게 보입니다.

런타임 배치

1.  이하와 같이, 샘플의 설정 파일을 작성합니다.

"dialog --create-rc <file>"

2.  dialog (은)는 이하와 같이 읽어들이는 설정 파일 결정합니다.

    a)  환경 변수 DIALOGRC 하지만 설정되어 있는 경우, 그 값은 설정 파일명으로서 다루어집니다.

    b)  (a)(으)로 지정된 파일이 존재하지 않았던 경우, $HOME/.dialogrc 하지만 설정 파일로서 다루어집니다.

    c)  (b)의 파일이 존재하지 않았던 경우, 디폴트의 설정으로 기동합니다.

3.  샘플의 설정 파일을 편집해, 2 를 참고에 dialog 하지만 찾아낼 수가 있는 장소에 카피합니다.

환경 변수

DIALOGRC
    독자적으로 설정을 하는 경우는, 설정 파일명을 지정합니다.

관련 파일

$HOME/.dialogrc
    디폴트의 설정 파일

진단
dialog 하지만 Yes 인가 OK (을)를 밀려 종료했을 경우는 0 을, No 인가 Cancel (을)를 밀려 종료했을 경우는 1 을 돌려줍니다. 또, dialog 의 내부에서 에러가 일어나는지, dialog (을)를 ESC 키를 눌러 종료시켰을 경우,-1 를 돌려줍니다.

관련 항목
dialog(3)

버그
탭 캐릭터를 포함한 텍스트 파일을 text 박스 그리고 표시하면(자), 잘 표시되지 않습니다. 텍스트 파일안의 탭 캐릭터는 사전에 스페이스로 변환해 두지 않으면 안됩니다.

화면의 개서에는 시간이 걸립니다.

ftree 및 tree 의 박스에서는, 트리를 좌우에 움직일 수가 없습니다. 따라서, 다계층의 데이터의 경우, 안보이게 되는 계층이 생깁니다. 80 캐릭터의 표준적인 화면에서는, 17 개의 계층을 보일 수가 있습니다. 보다 깊은 계층은 보이지 않습니다. 그런데도, 트리내의 이동과 리프의 선택은 동작합니다.

저자
Savio Lam (lam836@cs.cuhk.hk)

Anatoly A. Orehovsky (tolik@mpeks.tomsk.su) 하지만 갱신했습니다 (ftree 와 tree 박스).