DIALOG

Section: User Commands (1)
Updated: 2 October 1998
索引 jman
 

索引

名称

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
heightwidth のサイズの yes/no ダイアログボックスを表示します。 text で指定された文字列はダイアログボックスの内部に 表示されます。 この文字列が長すぎて、1行で表示できない場合は、 自動的に複数行に分割されます。 text が文字列 "\n" もしくは改行文字 `\n' を含んでいる場合、その場所で 改行します。 このダイアログボックスは ユーザに yes あるいは no という返答を求める 際に役に立ちます。 ダイアログボックスは YesNo のボタンを持っており、 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 ボックスは、テキストファイルの内容をダイアログボックスの中に 表示するためのものです。これは簡単なテキストファイルビュアーの ようなものです。 表示中は、 UP/DOWNPGUP/PGDNHOME/END キーを使ってファイル中を移動できます。 1 行がダイアログボックスより長い場合は、 LEFT/RIGHT で左右にスクロールできます。 より便利に使うために、 前方検索、後方検索の機能も実装されています。
--menu text height width menu-height [ tag item ] ...
menu ボックスは、その名のとおりダイアログボックスにリストを表示して ユーザに選ばせるものです。 各メニューは tagitem で構成されます。 tag は他の項目と区別するためのものです。 item はその項目が表す内容を短く記述したものです。 ユーザは UP/DOWN キー、または tag の先頭文字、 1-9 を押すことで項目を選べます。 menu-height は一度に表示できるメニューの数を設定します。 menu-height より多くの項目がある場合、メニューがスクロールします。 dialog を終了するとき、 選択されたメニューの tagstderr に出力されます。
--prgbox command height width
program ボックスは command の出力をダイアログボックスに表示します。
--checklist text height width list-height [ tag item status ] ...
checklist ボックスは、 メニューから項目を選ぶという点で menu ボックスと似ていまが、 項目のなかから 1 つを選ぶのではなく、 ユーザが各項目をオン・オフに設定することができます。 各項目のオン・オフの初期設定は status で設定できます。 終了時には、 ステータスがオンになっている項目の tagstderr に出力されます。
--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/RIGHTOK ボタンに移動してから 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
デフォルトの設定ファイル
 

索引

診断

dialogYesOK を押されて終了した場合は 0 を、 NoCancel を押されて終了した場合は 1 を返します。 また、 dialog の内部でエラーが起こるか、 dialogESC キーを押して終了させた場合、-1 を返します。  

索引

関連項目

dialog(3)

 

索引

バグ

タブ キャラクタを含むテキストファイルを text ボックス で表示すると、うまく表示されません。 テキストファイルの中の タブ キャラクタは 事前にスペースに変換しておかなくてはなりません。

画面の書き換えには時間がかかります。

ftree および tree のボックスでは、ツリーを左右に動かすことができません。 よって、多階層のデータの場合、見えなくなる階層が生じます。 80 文字の標準的な画面では、17 個の階層を見せることができます。 より深い階層は見えません。 それでも、ツリー内の移動と、リーフの選択は動作します。  

索引

作者

Savio Lam (lam836@cs.cuhk.hk)

Anatoly A. Orehovsky (tolik@mpeks.tomsk.su) が更新しました (ftree と tree ボックス)。


 

索引

Index

名称
書式
解説
オプション
ランタイムコンフィギュレーション
環境変数
関連ファイル
診断
関連項目
バグ
作者

jman



Time: 07:06:04 GMT, January 12, 2009