Tag: ubuntu Tag: zenity Tag: cli
http://dbweb.0258.net/ の「UbuntuのCLIスクリプトをGUIで活用」より
Zenity
2012-05-17
Ubuntuでシェルスクリプトを日常の管理などにもっと便利に使いたい。ただ、そのままではキー入力がある場合等にGUIとの連携が無いので、いちいち端末を起動してからコマンドを入力しなければならない。そんな時は、「Zenity」を使うといいらしい・・・。
さて、Zenityって何。ということで、とりあえず参考になりそうなリンクを数個メモ。
- Zenity マニュアル
- 「zenity コマンド」・・・Monkey's hobby
- 「2007-12-30 Zenityでシェルスクリプトから簡単ダイアログ」・・・ORCA愉快日記
- 「「CLIとGUIの架け橋」zenity」・・・試験運用中なLinux備忘録
- 「12.7.1. Zenityの各ダイアログごとの説明と使用例」・・・試験運用中なLinux備忘録・別館
- 「Zenity」・・・Wikipadia
whiptail
2016-05-25
似たような用途で利用できるコマンドで「whiptail」がある。zenityはGUIがある環境のシェルでないと利用出来ないが、こちらはGUIの環境がない場合も利用可能だという事です。出来ることなどはzenityより少なめという事ですが、簡単には比較出来ない。
使用例
その1
$ whiptail --yesno よろしいですか 10 50; echo $?
はいなら $?が0,いいえは1となります。
シェルのifと組み合わせるなら・・・
#!/bin/bash whiptail --yesno よろしいですか 10 50 if [ $? -eq 0 ] then echo ok else echo bad fi
その2
$ whiptail --inputbox キーワードを入力してください 10 50 2>hoge; A=`cat hoge`;
文字などの入力は標準エラー出力に出力されるそうです。上記のような感じにすると変数に代入できるのですが、こんな感じでいいのでしょうか。
WEB上のサンプルを見て書き直すと、次のような書式の方がいいみたいですね。
$ keyword=$(whiptail --inputbox キーワードを入力してください 10 50 3>&1 1>&2 2>&3) && echo $keyword
※「3>&1 1>&2 2>&3」は,標準出力と標準エラー出力を入れ替えとなります。
参考URL
- 第422回 whiptailでCUIをグラフィカルにする