[bash] leggere stdout con dialog

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
danix
Staff
Staff
Messaggi: 3287
Iscritto il: ven ott 27, 2006 19:32
Nome Cognome: Danilo M.
Slackware: 64 14.1
Kernel: 4.4.0
Desktop: kde4
Località: Siderno (RC)
Contatta:

[bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 14:10

Ciao a tutti,
qualcuno di voi mi sa spiegare come faccio a leggere l'output di un programma in esecuzione e a visualizzarlo con dialog??
mi spiego meglio...
da uno script lancio cdrecord e vorrei visualizzare l'andamento della masterizzazione con una barra di caricamento in dialog presente nello script stesso invece di visualizzare tutto l'output di cdrecord... è possibile secondo voi??

Spero mi saprete aiutare...
Grazie mille


Ciau
danix

myself ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun set 03, 2007 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: [bash] leggere stdout con dialog

Messaggioda Mario Vanoni » dom mag 18, 2008 15:29

Scusa tanto, secondo man dialog

dialog --gauge ...

potrebbe essere quello che cerchi.

Mario Vanoni

Avatar utente
danix
Staff
Staff
Messaggi: 3287
Iscritto il: ven ott 27, 2006 19:32
Nome Cognome: Danilo M.
Slackware: 64 14.1
Kernel: 4.4.0
Desktop: kde4
Località: Siderno (RC)
Contatta:

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 15:58

grazie Mario,
infatti gauge era la dialog che volevo usare, il mio dubbio (forse non espresso troppo chiaramente) era sul come fare a far leggere a gauge l'avanzamento di cdrecord...

potrei lanciarlo in una subshell??
danix

myself ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6357
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 16:05

Prova ad eseguire questo :D:

Codice: Seleziona tutto

(i=0; while (( $i <= 100 )); do echo $i; let i++; sleep 1; done )|  dialog --gauge "ciao" 10 20


Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
danix
Staff
Staff
Messaggi: 3287
Iscritto il: ven ott 27, 2006 19:32
Nome Cognome: Danilo M.
Slackware: 64 14.1
Kernel: 4.4.0
Desktop: kde4
Località: Siderno (RC)
Contatta:

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 16:15

ciao spina, grazie...
per provare gauge ho usato quest'altro script che avevo trovato in giro per la rete:

Codice: Seleziona tutto

#!/bin/sh

percent=0
(
while test $percent != 110
do
echo $percent
echo "XXX"
echo "This is how the gauge appears"
echo "XXX"
echo "See how the message changes"
echo "XXX"
percent=`expr $percent + 10`
sleep 1
done
) |
dialog --title "Gauge works!" --gauge "This is how a gauge appears on the command line" 10 60 0


funziona più o meno come il tuo script...

Il fatto è che non so come catturare l'output di cdrecord (ma anche di un qualsiasi altro programma) e farlo leggere a gauge...

Questo è l'output di cdrecord durante la masterizzazione:

Codice: Seleziona tutto

Track 01:  190 of  190 MB written (fifo 100%) [buf  99%]   8.2x.

nel caso specifico stavo scrivendo una ISO DI 190 MB a 8x, la mia idea era di prendere la dimensione totale dell'immagine (190) e far avanzare gauge usando quel valore come 100%...

che ne pensi??
danix

myself ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6357
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 16:18

Se non ricordo male cdrecord non ti aggiorna sempre mostrandoti la percentuale di dati scritti? Il problema lo si dovrebbe risolvere in maniera molto più semplice di quello che pensi.

Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
danix
Staff
Staff
Messaggi: 3287
Iscritto il: ven ott 27, 2006 19:32
Nome Cognome: Danilo M.
Slackware: 64 14.1
Kernel: 4.4.0
Desktop: kde4
Località: Siderno (RC)
Contatta:

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 16:30

leggendo il man l'unica cosa che ho trovato è stata il flag -v che mostra l'avanzamento del processo di masterizzazione, ma l'ho usata e non ho letto percentuali...
che intendi quando dici che il problema si dovrebbe risolvere in maniera più semplice di quello che penso??
danix

myself ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6357
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 16:33

Niente, io pensavo che cdrecord di suo ti mostrava delle righe consegutive ogni tot dicendoti l'avanzamento in percentuale dei dati scritti. Ma quello deve essere mkisofs allora.
Durante l'esecuzione di cdrecord non hai niente che cambia? La riga che hai postato prima? cos'è?

Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
danix
Staff
Staff
Messaggi: 3287
Iscritto il: ven ott 27, 2006 19:32
Nome Cognome: Danilo M.
Slackware: 64 14.1
Kernel: 4.4.0
Desktop: kde4
Località: Siderno (RC)
Contatta:

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 16:41

E' una riga che rimane fissa e si aggiorna ogni secondo, ma sempre sulla stessa riga... quello che dici tu è mkisofs...
danix

myself ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6357
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 16:50

danix85 ha scritto:E' una riga che rimane fissa e si aggiorna ogni secondo, ma sempre sulla stessa riga... quello che dici tu è mkisofs...

Ok, devi ridirigere l'output di cdrecord su di un tuo script (tanto lui stampa sempre sullo stdout). Fammi provare una cosa....

Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun set 03, 2007 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: [bash] leggere stdout con dialog

Messaggioda Mario Vanoni » dom mag 18, 2008 16:58

danix85 ha scritto:E' una riga che rimane fissa e si aggiorna ogni secondo, ma sempre sulla stessa riga... quello che dici tu è mkisofs...


Quando usavo (e funzionava ancora) mettevo

cdrecord ... -v -v ... file.iso

e segnalava la progressione in percentuale.

Mario Vanoni

PS Dal 12.0 cdrecord mi produce solo frisbee,
k3b va ... una tantum, growisofs sempre perfetto.

Avatar utente
danix
Staff
Staff
Messaggi: 3287
Iscritto il: ven ott 27, 2006 19:32
Nome Cognome: Danilo M.
Slackware: 64 14.1
Kernel: 4.4.0
Desktop: kde4
Località: Siderno (RC)
Contatta:

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 17:14

Mario Vanoni ha scritto:PS Dal 12.0 cdrecord mi produce solo frisbee,
k3b va ... una tantum, growisofs sempre perfetto.

ma growisofs lo posso usare solo per i dvd o sbaglio??
danix

myself ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun set 03, 2007 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: [bash] leggere stdout con dialog

Messaggioda Mario Vanoni » dom mag 18, 2008 17:19

danix85 ha scritto:
Mario Vanoni ha scritto:PS Dal 12.0 cdrecord mi produce solo frisbee,
k3b va ... una tantum, growisofs sempre perfetto.

ma growisofs lo posso usare solo per i dvd o sbaglio??


Ovvio, bruciare solo DVD, ma con i prezzi di oggi,
vale la pena anche con un *.iso di 700MB.

Mario Vanoni

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6357
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 17:23

Quello che chide danix si può comuque fare, basta creare uno scriptino che preleva i dati essenziali dall'output di cdrecord, ovvero il totale dei mega da scrivere e i mega scritti attualmente e poi inviarli a dialog. Appena ho un attimo provo a simulare poi vi dico.

Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
danix
Staff
Staff
Messaggi: 3287
Iscritto il: ven ott 27, 2006 19:32
Nome Cognome: Danilo M.
Slackware: 64 14.1
Kernel: 4.4.0
Desktop: kde4
Località: Siderno (RC)
Contatta:

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 17:28

mentre aspetto buone nuove su questo fronte ne approfitto e vi ringrazio per l'interessamento... :D
danix

myself ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite