Различия

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

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

Следующая версия
Предыдущая версия
system:dialog [2016/02/16 23:28] – создано mirocowsystem:dialog [2016/02/17 01:13] (текущий) mirocow
Строка 1: Строка 1:
-{{tag>bash system shell}}+{{tag>bash system shell script scripting}}
  
 ====== Dialog ====== ====== Dialog ======
  
 +{{http://hightek.org/sites/default/files/resize/menubox_0-600x376.jpg}}
 +
 +http://hightek.org/projects/dialog/screenshots
 ===== Установка ===== ===== Установка =====
  
Строка 106: Строка 109:
 </code> </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 bash>
 +$ dialog --title Habr --checklist «Simple checkbox menu» 12 35 3 $(echo {hello,habra,habr}" '' 0" 
 +</code>
  
 ===== Списки зависимых кнопок (radiolist) и флажков (checklist) ===== ===== Списки зависимых кнопок (radiolist) и флажков (checklist) =====
Строка 167: Строка 207:
 </code> </code>
  
 +<code bash>
 +#!/bin/sh
 +
 +(
 +c=10
 +while [ $c -ne 110 ]
 +    do
 +        echo $c
 +        ((c+=10))
 +        sleep 1
 +done
 +) |
 +dialog --title " Тест диалога прогресса " --gauge "Please wait ...." 10 60 0
 +
 +clear
 +</code>
  
 ===== Выбор файла ===== ===== Выбор файла =====
Строка 242: Строка 298:
 fi fi
 </code> </code>
 +
 +===== Примеры / Ствтьи =====
 +
 +  * http://linoxide.com/linux-shell-script/bash-shell-script-show-dialog-box/
 +