Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
system:dialog [2016/02/17 00:24] – [Организация меню] mirocowsystem:dialog [2016/02/17 01:13] (текущий) mirocow
Строка 1: Строка 1:
-{{tag>bash system shell}}+{{tag>bash system shell script scripting}}
  
 ====== Dialog ====== ====== Dialog ======
Строка 107: Строка 107:
     echo "Нажата клавиша ESC.";;     echo "Нажата клавиша ESC.";;
 esac esac
 +</code>
 +
 +<code bash>
 +#!/usr/bin/env bash
 +
 +t(){ type "$1"&>/dev/null;}
 +
 +function Menu.Show {
 +   local DIA DIA_ESC; while :; do
 +      t whiptail && DIA=whiptail && break
 +      t dialog && DIA=dialog && DIA_ESC=-- && break
 +      exec date +s"No dialog program found"
 +   done; declare -A o="$1"; shift
 +
 +   $DIA --backtitle "${o[backtitle]}" --title "${o[title]}" \
 +      --menu "${o[text]}" 0 0 0 $DIA_ESC "$@"; 
 +}
 +
 +Menu.Show '([backtitle]="Backtitle"
 +            [title]="Title"
 +            [question]="Please choose:")'          \
 +                                                   \
 +            "Option A"  "Stuff...."                \
 +            "Option B"  "Stuff...."                \
 +            "Option C"  "Stuff...."    
 +</code>
 +
 +<code bash>
 +$ dialog --checklist "Preferred Linux distros" 15 40 5\
 +               debian "Venerable Debian" off \
 +               ubuntu "Popular Ubuntu"   on  \
 +               fedora "Hackish Fedora"   off \
 +               centos "Stable Centos"    off \
 +               mint "Rising Star Mint"   off 2>distrochoice
 </code> </code>