tail head cat sleep
QR code linking to this page

manページ  — DIALOG

名称

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 ボックス)。


2 October 1998 DIALOG (1)

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.
— Donald Knuth