私の状況に合った端末ベースの環境を作りたいです。吹くスクリプトは次のように書かれています。
ベストアンサー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
あなたの友人。