Portál AbcLinuxu, 17. května 2025 23:44

Dotaz: BASH/SHELL - Dialog - Výstup

11.7.2012 10:08 OoO
BASH/SHELL - Dialog - Výstup
Přečteno: 637×
Odpovědět | Admin
Zdravím, jak bych mohl udělat to, že když spustím pomocí dialogu nějaký příkaz, jeho průběh, výsledek atd.. aby se zobrazoval přímo v tom dialogu? Děkuji za radu. O.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.7.2012 10:44 Kit
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Odpovědět | | Sbalit | Link | Blokovat | Admin
for((i=0;i<100;i++)); do echo $i; sleep 0.2; done| dialog --gauge Hotovo 6 70
11.7.2012 10:57 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
EH! ;-) Nemyslel jsem nějaký ukazatel, ale spíš to co se píše přímo na screen aby se zobrazovalo v tom dialogu.. Děkuji
11.7.2012 11:24 Kit
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Z dotazu mí to jasné nebylo a ani teď mi to jasné není.
for((i=0;i<100;i++)); do echo $i;sleep 0.2;done|dialog --progressbox 16 80
11.7.2012 11:53 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Nemůžu to spustit, tak nevím jestli je to co myslím..
./test: 3: Syntax error: Bad for loop variable
Nevíš co se mu nelíbí?
11.7.2012 12:25 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Měl jsem chybu v #!/bin/sh, mělo tam být #!/bin/bash, už to jede.

Ano, tohle by mohlo být použitelné, jenže to nefunguje vždy. Uvedu příklad:
tohle funguje
/etc/init.d/apache2 status | dialog --progressbox 16 80

tohle treba nefunguje (adresar folder jiz existuje)
mkdir /root/folder | dialog --progressbox 16 80
mělo by to vypsat ze již existuje, ale nevypise nic
Jak to prosim tedy je? Dekuji
Ruža Becelin avatar 11.7.2012 12:38 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Pouzij parametr -v pro mkdir
11.7.2012 12:48 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
S parametem -v
mkdir -v /root/aaa
je to stejný
Ruža Becelin avatar 11.7.2012 12:51 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
A dival ses do pavlixova odkazu?
mkdir -v /root/aaa 2>&1 | dialog --progressbox
11.7.2012 12:58 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Ano, dival, pokud pouziju 2>&1 tak nemusim pouzit ani ten prepinac -v
Ruža Becelin avatar 11.7.2012 13:21 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Ten -v je tam proto, aby vypsal vysledek i kdyz adresar neexistuje...
11.7.2012 15:53 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Ty vogo OoO vo-co ti de? — já to nechápu. :-)
O toto:
(mkdir -v /root/aaa || ls -ld /root/aaa || rmdir -v /root/aaa)  2>&1 | dialog --progressbox 16 80
případně:
(mkdir -v /root/aaa && ls -ld /root/aaa && rmdir -v /root/aaa)  2>&1 | dialog --progressbox 16 80
?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
11.7.2012 16:03 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Hm, raději:
(mkdir -v /root/aaa ; ls -vld /root/aaa ; rmdir -v /root/aaa)  2>&1 | dialog --progressbox 16 80
?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
pavlix avatar 11.7.2012 12:39 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Viz například http://www.linuxexpres.cz/praxe/bash-6-dil
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 12:54 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Tam ale není odpově%d na moji otázku, uvedu raději příklad
     VALUE=$(dialog --stdout --menu "MENU" 50 160 50\
          "1" "Test-1"\
          "2" "Test-2")

     case $VALUE in
          1) /etc/init.d/apache2 restart | dialog --progressbox 16 80;;
          2) mkdir /root/aaa | dialog --progressbox 16 80;;
     esac
1) spustim program
2) zvolím treba polozku Test-1 a spustim ji
3) spustí se přikaz : /etc/init.d/apache2 restart | dialog --progressbox 16 80;;
4) po provedeni se program se ukončí, a to je muj problem, potrebuji aby ta nabidka "MENU" byla zase videt po 
provedeni toho prikazu v kroku 3, jelikoz potrebuji aby kurzor zustal na te polozce na ktere byl nez se neco spustilo.
Děkuji za pomoc
pavlix avatar 11.7.2012 13:00 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Ten program dělá přesně to, co je tam napsáno. Spustí dialog, uloží jeho výsledek, něco na základě toho provede, stdout z toho pošle tomu progressbaru a ten podle manuálové stránky při ukončení vstupu skončí.

A protože dál už nemáš nic napsáno, tak se tvůj skript ukončí.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 13:07 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Ano, proto jsem se ptal jak to udělat :(
mess avatar 12.7.2012 01:19 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Tak tam dej goto zpátky na začátek ;-)
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
pavlix avatar 12.7.2012 18:21 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Možná když uděláš maximum sám pro to, aby ti to fungovalo podle tvých představ a pak se budeš ptát na zcela konkrétní věci, klidně i z citací z toho manuálu, co konkrétně se ti nezdá nebo ti chybí, tak budeš mít větší šanci se něco dozvědět. Takhle to fakt vypadá jako když tomu nevěnuješ dost vlastní snahy.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
pavlix avatar 11.7.2012 13:01 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Doporučuju velmi pečlivě přečíst manuál k programu dialog.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 13:09 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Bohužel v manuálu není ani řádka o nějakém nastavení kurzoru a jeho pozice, tak že jsem tam kde jsem byl než jsem položil dotaz.. ;)
pavlix avatar 11.7.2012 14:00 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Jednu věc pro tebe udělat můžu. Přeju ti hodně štěstí :).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 14:06 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Naštěstí jsou tady i lidi co poradit dokážou, to ovšem není tvůj případ, akorát tady spamuješ blbečku..
pavlix avatar 11.7.2012 14:18 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Je mi tě líto.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 14:29 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup

To nemusí, já svůj problém dříve či později vyřeším, ale ty budeš ve fórech i nadále rozdávat (na úkor své reklamy) rady které nikdy nikomu nepomůžou a odkazovat na manuál, i když ani vlastně to ne, jelikož jsi žádný link kde to je napsáno neuvedl.

BTW: Za toho "blbečka" se omlouvám, ruce byli v dané chvíli emočně rychlejší...

pavlix avatar 11.7.2012 14:32 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
To nemusí, já svůj problém dříve či později vyřeším, ale ty budeš ve fórech i nadále rozdávat (na úkor své reklamy) rady které nikdy nikomu nepomůžou a odkazovat na manuál, i když ani vlastně to ne, jelikož jsi žádný link kde to je napsáno neuvedl.
Soudíš nejen předčasně, ale i hloupě. Ale to koneckonců není můj problém. Pokud máš problém s tou patičkou, napiš Lubošovi, na jeho návrh ji změním.
BTW: Za toho "blbečka" se omlouvám, ruce byli v dané chvíli emočně rychlejší...
Omluva se přijímá.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 14:39 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Soudíš nejen předčasně, ale i hloupě.
Patrně ano, proto jsem se dostal sem..
Pokud máš problém s tou patičkou, napiš Lubošovi, na jeho návrh ji změním.
Vlk taky sliboval.. Dělej si propagaci dál, je mi to fuk.
Omluva se přijímá.
Tak aspoň něco.. ;)
pavlix avatar 11.7.2012 14:45 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Vlk taky sliboval.. Dělej si propagaci dál, je mi to fuk.
Tak se do mě neser, když je ti to fuk :).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 14:03 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak nikdo nic? Klasika, vždycky někdo zasere celé vlákno debilníma radama přečti si manuál atd.. a pak tu tunu balastu ani nikdo nečte a tím pádem ani neodpoví :-( Eh hlavě že si dělá reklamu na placené školení....
pavlix avatar 11.7.2012 14:24 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
To zase přišel jeden hlupák, který si myslí, že bezplatná poradna na Abclinuxu je tu od toho, aby lidi, kteří něco málo umí, za něj četli manuály a vůbec za něj udělali většinu práce.

On pak udělá copy&paste a jde ze sebe dělat těžkého kinga, přitom má problémy už i se čtením.

Doma taky nadáváš do blbečků, když maminka k večeři neuvaří to, co sis ráčil objednat?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 14:33 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Ano, jsem hlupák, nedokážu v manuálu ani najít to co tam není...
pavlix avatar 11.7.2012 14:40 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Myslím, že jsi svým přístupem značně snížil pravděpodobnost, že ti někdo poradí ke tvé spokojenosti.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.7.2012 14:48 OoO
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
S tím jediným s tebou souhlasím, aspoň se teď můžeš radovat, že jsem v p*deli :-(

PS: Prosím o smazání celého vlákna, nenese čtenářům jedinou užitečnou informaci, díky.

pavlix avatar 11.7.2012 22:28 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
S tím jediným s tebou souhlasím, aspoň se teď můžeš radovat, že jsem v p*deli :-(
Budeme slavit! Ne, takhle to opravdu nefunguje, já naopak doufám, že na to časem přijdeš.
PS: Prosím o smazání celého vlákna, nenese čtenářům jedinou užitečnou informaci, díky.
Tady se vlákna nemažou, ale vyhnívají a upadají v zapomnění. Jako anonymovi ti to pak může být jedno.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
12.7.2012 09:52 pavel
Rozbalit Rozbalit vše Re: BASH/SHELL - Dialog - Výstup
Je to odtud:
#!/bin/bash
# utilitymenu.sh - A sample shell script to display menus on screen
# Store menu options selected by the user
INPUT=/tmp/menu.sh.$$
 
# Storage file for displaying cal and date command output
OUTPUT=/tmp/output.sh.$$
 
# get text editor or fall back to vi_editor
vi_editor=${EDITOR-vi}
 
# trap and delete temp files
trap "rm $OUTPUT; rm $INPUT; exit" SIGHUP SIGINT SIGTERM
 
#
# Purpose - display output using msgbox 
#  $1 -> set msgbox height
#  $2 -> set msgbox width
#  $3 -> set msgbox title
#
function display_output(){
	local h=${1-10}			# box height default 10
	local w=${2-41} 		# box width default 41
	local t=${3-Output} 	# box title 
	dialog --backtitle "Linux Shell Script Tutorial" --title "${t}" --clear --msgbox "$(<$OUTPUT)" ${h} ${w}
}
#
# Purpose - display current system date & time
#
function show_date(){
	echo "Today is $(date) @ $(hostname -f)." >$OUTPUT
    display_output 6 60 "Date and Time"
}
#
# Purpose - display a calendar
#
function show_calendar(){
	cal >$OUTPUT
	display_output 13 25 "Calendar"
}
#
# set infinite loop
#
while true
do
 
### display main menu ###
dialog --clear  --help-button --backtitle "Linux Shell Script Tutorial" \
--title "[ M A I N - M E N U ]" \
--menu "You can use the UP/DOWN arrow keys, the first \n\
letter of the choice as a hot key, or the \n\
number keys 1-9 to choose an option.\n\
Choose the TASK" 15 50 4 \
Date/time "Displays date and time" \
Calendar "Displays a calendar" \
Editor "Start a text editor" \
Exit "Exit to the shell" 2>"${INPUT}"
 
menuitem=$(<"${INPUT}")
 
 
# make decsion 
case $menuitem in
	Date/time) show_date;;
	Calendar) show_calendar;;
	Editor) $vi_editor;;
	Exit) echo "Bye"; break;;
esac
 
done
 
# if temp files found, delete em
[ -f $OUTPUT ] && rm $OUTPUT
[ -f $INPUT ] && rm $INPUT

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.