Kategorie: Skripty

dialog - Dialogy a menu pro BASHové skripty

Příkaz dialog umožňuje BASHovým skriptům interakci s uživatelem - zobrazení informačního dialogu, statusbaru, potvrzovacího nebo výběrového dialogu atd.

Příkaz dialog

dialog ... výška šířka 2>výstup

Výstup

Výstupem dialogů je číselný návratový kód, který se používá zejména pokud chceme zjistit jestli uživatel souhlasí nebo ne, a textový výstup který je možné přesměrovat do dočasného souboru a následně s ním pracovat, který se používá například pokud si od uživatele vyžádáme zadání nějakého textu.

Pozor! Návratový kód vrací každý vykonaný příkaz, proto ho musíte vyhodnotit nebo uložit ihned po příkazu dialog, jinak získáme návratový kód posledního spuštěného příkazu!

dialog ... 2>/tmp/input
case $? in
  0)
    echo "Stisknuto Ano/OK";;
  1)
    echo "Stisknuto Ne";;
  255)
    echo "Stisknuto ESC";;
esac
input=$(</tmp/input)
echo "Zadany text: ${input}"

Informační dialog

dialog --title "Titulek" --msgbox "Text" 6 30

Potvrzovací dialog (Ano/Ne)

dialog --title "Titulek" --yesno "Otázka" 6 30

Textový dialog (Zadejte text)

dialog --title "Titulek" --inputbox "Otázka" 6 30

Výběrový dialog (Menu)

dialog --menu "Otázka" výškaokna šířkaokna výškaseznamu a a b b c c d d...
dialog --title "Titulek" --menu "Otázka" 12 60 3 \
 "a)" "První možnost" \
 "b)" "Druhá možnost" \
 "c)" "Třetí možnost"

Grafické varianty

Příkaz dialog existuje i v různých obměnách pro grafické prostředí. Používají se naprosto stejně jako čistý dialog, pouze se jinak zobrazují.
PříkazBalík
dialogdialogTextová konzole
gdialogzenityGnome
kdialogkdebase-binKDE

Přídavné volby

--defaultnoVýchozí hodnotou bude Ne (místo Ano)
--no-okBez tlačítka OK
--no-cancelBez tlačítka Storno (Skript stále může být ukončen pomocí ESC)
--ok-labelNápis na tlačítku OK
--cancel-labelNápis na tlačítku Storno
--yes-labelNápis na tlačítku Ano
--no-labelNápis na tlačítku Ne

Komentáře


Nebyly přidány žádné komentáře.