CUIでシェルスクリプトや設定コマンドを書いていると,
whiptailとは?
whiptailは
- ※1
- whiptailは
「鞭のような尻尾」 という意味ですが, トカゲの一種の総称としても使われます。それに対してnewtはイモリのことを示します。ちなみにトカゲは戸の影に隠れている爬虫類です。イモリは井戸の中を守ってくれている両生類です。 - newtのパッケージには
「Not Erik's Windowing Toolkit」 という説明があります。おそらく以前はこの頭字語だったのでしょうが, 今のnewtのサイトにはその説明はありません。ちなみにnewtのオリジナルの作者は, RPMの作者の一人でもあるErik Troanです。
このwhiptailをシェルスクリプトと組み合わせて使うと,
whiptailの使い方
whiptailはただのコマンドです。whiptailコマンドを実行したら,
そこでこのRecipeでは
whiptailの基本的な書式
whiptailの基本的な書式は以下のとおりです。
$ whiptail レイアウトオプション ボックスオプション
レイアウトオプションにはボックスタイトルやボックスの位置といった,
ボックスオプションにはボックスの種類や種類ごとのオプションについて設定します。たとえばチェックボックスなら選択肢の一覧を指定しますし,
ちなみにlibnewtはgettextによる翻訳をサポートしています。その都合上,
Yes/ Noダイアログ
Yes/
$ whiptail --yesno 説明 ダイアログの高さ ダイアログの幅
高さと幅は数値で指定します。説明に指定した文字列が幅を超えると自動的に改行します。両方とも0にすると,
たとえば次のコマンドは,
$ whiptail --title "キャンセルしますか?" --no-button "キャンセル" --yesno "本当にキャンセルしますか?" 8 50
「--title」
メッセージボックス
メッセージボックスは,
$ whiptail --ok-button "はい" --msgbox "もし わしの みかたになれば\nせかいの はんぶんを\nおまえ に やろう。" 10 25
上記のように文字列の中に\n」
インフォボックス
インフォボックスはメッセージボックスと似ていますが,
ただしxtermやGNOME端末では問答無用でメッセージがクリアされるため,
$ TERM=vt100 whiptail --title "たかしへ" --infobox "おやつはVT100の中にあります。" 7 45