Tag: ubuntu Tag: zenity Tag: cli

http://dbweb.0258.net/ の「UbuntuのCLIスクリプトをGUIで活用」より

Zenity

2012-05-17

 Ubuntuでシェルスクリプトを日常の管理などにもっと便利に使いたい。ただ、そのままではキー入力がある場合等にGUIとの連携が無いので、いちいち端末を起動してからコマンドを入力しなければならない。そんな時は、「Zenity」を使うといいらしい・・・。

 さて、Zenityって何。ということで、とりあえず参考になりそうなリンクを数個メモ。




whiptail

2016-05-25

 似たような用途で利用できるコマンドで「whiptail」がある。zenityはGUIがある環境のシェルでないと利用出来ないが、こちらはGUIの環境がない場合も利用可能だという事です。出来ることなどはzenityより少なめという事ですが、簡単には比較出来ない。




使用例

その1

$ whiptail --yesno よろしいですか 10 50; echo $?

whiptailの例1

はいなら $?が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`;

文字などの入力は標準エラー出力に出力されるそうです。上記のような感じにすると変数に代入できるのですが、こんな感じでいいのでしょうか。

whiptailの例2

WEB上のサンプルを見て書き直すと、次のような書式の方がいいみたいですね。

$ keyword=$(whiptail --inputbox キーワードを入力してください 10 50 3>&1 1>&2 2>&3) && echo $keyword

※「3>&1 1>&2 2>&3」は,標準出力と標準エラー出力を入れ替えとなります。




参考URL