Portál AbcLinuxu, 15. května 2025 05:37

Dotaz: Proč nevidím whiptail menu ve svém scriptu?

26.11.2021 12:15 MAREK
Proč nevidím whiptail menu ve svém scriptu?
Přečteno: 434×
Odpovědět | Admin
Zdravím, chtěl jsem začlenit do svého scriptu tohle
OPTION=$(whiptail --title "Test Menu Dialog" --menu "Choose your option" 15 60 4 
"1" "Grilled Spicy Sausage" 
"2" "Grilled Halloumi Cheese" 
"3" "Charcoaled Chicken Wings" 
"4" "Fried Aubergine"  3>&1 1>&2 2>&3)
ale po spuštění nic nevidím, pokud to dám takto tak to vidím
whiptail --title "Test Menu Dialog" --menu "Choose your option" 15 60 4 
"1" "Grilled Spicy Sausage" 
"2" "Grilled Halloumi Cheese" 
"3" "Charcoaled Chicken Wings" 
"4" "Fried Aubergine"
Nemůže mě někdo kopnout? Děkuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.11.2021 12:32 MAREK
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě doplním, že je to ve funkci kterou volám takto
my_start 2>error.log
26.11.2021 13:04 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Keď príkaz pokračuje na ďalšom riadku, tak sa dáva na konci lomítko. Inak ti to zhavaruje na nesprávnej syntaxi.

Schválne, skús to menu spustiť bez uzavretia do premennej.
26.11.2021 13:24 MAREK
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Keď príkaz pokračuje na ďalšom riadku, tak sa dáva na konci lomítko. Inak ti to zhavaruje na nesprávnej syntaxi.
Díky, v kódu to mám na jednom řádku, pastnul jsem to sem pro lepší přehlednost, omlouvám se.
Schválne, skús to menu spustiť bez uzavretia do premennej.
Ehm, to prosím nechápu.
26.11.2021 14:30 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
To sa vzťahovalo jedno ku druhému, a ukazovalo to zlú syntax.

Odporučil by som skontrolovať pod akým aký shell-om sa to spúšťa, posixové formy používali vykonávacie úvodzovky a nie okrúhle zátvorky.
26.11.2021 14:27 X
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdyby jsi se vykaslal na radoby marchovinky s presmerovanim:
3>&1 1>&2 2>&3
Ktere pak stejne pohrbis do souboru:
my_start 2>error.log
Tak se pak nediv.
26.11.2021 18:31 MAREK
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Jaké machrovinky? Je to přímo v dokumntaci whiptail.

A nějaký nápad cos tím?
26.11.2021 18:56 X
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Ok, dej to pric, to presmerovani do souboru taky a pak to pust znova, kdyz to bude brecet a nebudes vedet, tak jsem posli vystup.
26.11.2021 20:24 MAREK
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Když tu funkci zavolám jen
my_start
tak to už vidím, ale ty chyby do souboru bych logovat opravdu chtěl :(
27.11.2021 00:27 marek
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?

Dobry den.

Podle mne problem je, ze whiptail normalne vypisuje dialog na stdout.

A svuj return vypise na stderr.

A vy pak resite, jak ten stderr nacpat do promenne.

Tak to udelate tak, ze whiptailu prohodite stderr a stdout.

Dialog zacnete vypisovat na stderr a stdout nacpete do promenne.

Potom se ale nemuzete divit, ze kdyz stderr poslete do nekam, tak ze vam tam doputuje i ten dialog.

Jak z toho ven?

Nejcitelnejsi bude asi ulozit si vysledek do souboru:

FILE=$(mktemp -t  FILE.XXXXXX) && whiptail --title "Test Menu Dialog" --menu "Choose your option" 15 60 4 "1" "Grilled Spicy Sausage" "2" "Grilled Halloumi Cheese" "3" "Charcoaled Chicken Wings" "4" "Fried Aubergine" 2>$FILE && OPTION="$(cat $FILE;/bin/rm $FILE;)"
echo $OPTION

marek

Gréta avatar 26.11.2021 19:04 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Odpovědět | | Sbalit | Link | Blokovat | Admin

co máš jakoby za terminál???????? :O :O mě to v bashi uplně normálně jede když je to hozený na ten jeden řádek jak už řikal golis

OPTION=$(whiptail --title "Test Menu Dialog" --menu "Choose your option" 15 60 4 "1" "Grilled Spicy Sausage" "2" "Grilled Halloumi Cheese" "3" "Charcoaled Chicken Wings" "4" "Fried Aubergine"  3>&1 1>&2 2>&3)

echo $OPTION
Zelená energetická soustava založená na obnovitelnejch zdrojích energie versus realnej svět 🤡🇪🇸
26.11.2021 20:44 MAREK
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
Terminál používám právě PuTTY.
27.11.2021 13:38 pavele
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?
PuTTY používáš v jaké linuxové distribuci?

PuTTY je primárně určen pro Windows.

Zkoušel jsi ten skript spustit třeba v terminálu xterm, gnome-terminal nebo xfce4-terminal?

Jaký používáš shell - bash, sh, zsh, csh, ksh?
Gréta avatar 28.11.2021 02:21 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Proč nevidím whiptail menu ve svém scriptu?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.