ダイアログボックスとbashスクリプトの使用ガイド/ヘルプ

ダイアログボックスとbashスクリプトの使用ガイド/ヘルプ

メニューの作成方法は理解していますが、実際にメニューをコマンドにリンクする方法を教えるガイドは見つかりませんでした。

私は次のようなものが欲しい:

dialog--clear --title "n00b's spellbook" \
        --menu "Choose thine spell:" 20 51 4 \
        1 "Name of program"  "blah" \
        2 "Name of other program" "blah" \

だから何とか1ラン./program1 2ラン./program2

答え1

申し訳ありません。ポイントを見逃しています。ダイアログボックスパッケージであることが見つかりませんでした。 @jasonwryanがマークアップを修正してより明確にしました。 - だからこれは完全な書き換えです。

マニュアルページに示すように、私はあなたをお勧めします。ソースコードのダウンロードサンプルフォルダを確認してください。

あなたが世界にいる場合は、apt-get次のように言います。

apt-get source dialog
cd dialog*/samples

はい/いいえはいの基本的な例(一部の修正を含む):

: ${DIALOG=dialog}

: ${DIALOG_YES=0}
: ${DIALOG_NO=1}
: ${DIALOG_ESC=255}


DIALOG_ERROR=254
export DIALOG_ERROR

$DIALOG --title "YES/NO BOX" --clear "$@" \
        --yesno "A simple Yes/No dialog." 15 61

retval=$?

case $retval in
  $DIALOG_YES)
    echo "YES";;
  $DIALOG_NO)
    echo "NO";;
  $DIALOG_ERROR)
    echo "ERROR!";;
  $DIALOG_ESC)
    echo "ESC pressed.";;
esac

答え2

マニュアルページ会話どこから始めるべきか教えてください:

--menu テキストの高さ幅メニューの高さ[ラベル項目]...

出るとき商標選択したメニュー項目に関する情報がダイアログ出力に出力されます。

与えられた例

dialog--clear --title "n00b's spellbook" \
    --menu "Choose thine spell:" 20 51 4 \
        1 "Name of program"  "blah" \
        2 "Name of other program" "blah" \

行ごとに3つの値があるため、型が間違っているようです。これをより合理的なものに単純化します。

dialog --clear --title "n00b's spellbook" \
    --menu "Choose thine spell:" 20 51 4 \
        1 "Name of program" \
        2 "Name of other program"

だから商標値は1合計です2。デフォルトではダイアログボックス出力標準エラーで、リダイレクトでキャプチャできます。

tempfile=$(mktemp)
dialog --clear --title "n00b's spellbook" \
    --menu "Choose thine spell:" 20 51 4 \
        1 "Name of program" \
        2 "Name of other program" 2> $tempfile

そしてCaseステートメントに使用してください。

case `cat $tempfile` in
(1) ./program1;;
(2) ./program2;;
esac

これにはいくつかのサンプルスクリプトがあります。源泉会話に使用されます。サンプルスクリプトは、一時ファイルを作成および削除し、テストを許可するユーティリティスクリプトを実行します。環境変数ダイアログボックスの終了コードを変更できます。

適切なスクリプトを研究することによって -メニューこの場合、ウィジェットに慣れることができます。会話

関連情報