ターミナルベースのGUIを作成するには?

ターミナルベースのGUIを作成するには?

私の状況に合った端末ベースの環境を作りたいです。吹くスクリプトは次のように書かれています。

Debian のインストール

ベストアンサー1

dialog --backtitle "Package configuration" \
       --title "Configuration sun-java-jre" \
       --yesno "\nBla bla bla...\n\nDo you accept?" 10 30

ここに画像の説明を入力してください。

ユーザーの応答は終了コードに保存されるため、通常どおり印刷できます。 (echo $?これは0「はい」を意味しますが、1シェルの世界では「いいえ」を意味します)。


コメントセクションに関するその他の質問:

  • 一部のコマンドの出力をダイアログボックスに入れるには、コマンド置換メカニズムを使用します$()。たとえば、次のようになります。

     dialog --backtitle "$(echo abc)" --title "$(cat file)" ...
    
  • ユーザーに複数の選択肢を提供するには、代わりに--menuオプションを使用できます。--yesno

  • ユーザーが選択した出力を変数に保存するには、--stdoutオプションを使用するか、手動で--output-fd出力記述子を変更する必要があります。たとえば、次のようになります。

    output=$(dialog --backtitle "Package configuration" \
                    --title "Configuration sun-java-jre" \
                    --menu "$(parted -l)" 15 40 4 1 "sda1" 2 "sda2" 3 "sda3" \
             3>&1 1>&2 2>&3 3>&-)
    echo "$output"
    

    dialogデフォルトではstdoutではなくstderrに出力されるため、このトリックが必要です。

いつものように、man dialogあなたの友人。

おすすめ記事