Repository 32bit  Forum
Repository 64bit  Wiki

[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.

[bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 13: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
Avatar utente
danix
Staff
Staff
 
Messaggi: 3280
Iscritto il: ven ott 27, 2006 18:32
Località: Siderno (RC)
Nome Cognome: Danilo M.
Slackware: 64 14.0
Kernel: 3.2.29
Desktop: fluxbox

Re: [bash] leggere stdout con dialog

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

Scusa tanto, secondo man dialog

dialog --gauge ...

potrebbe essere quello che cerchi.

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

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 14: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??
Avatar utente
danix
Staff
Staff
 
Messaggi: 3280
Iscritto il: ven ott 27, 2006 18:32
Località: Siderno (RC)
Nome Cognome: Danilo M.
Slackware: 64 14.0
Kernel: 3.2.29
Desktop: fluxbox

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 15: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
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 15: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??
Avatar utente
danix
Staff
Staff
 
Messaggi: 3280
Iscritto il: ven ott 27, 2006 18:32
Località: Siderno (RC)
Nome Cognome: Danilo M.
Slackware: 64 14.0
Kernel: 3.2.29
Desktop: fluxbox

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 15: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
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 15: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??
Avatar utente
danix
Staff
Staff
 
Messaggi: 3280
Iscritto il: ven ott 27, 2006 18:32
Località: Siderno (RC)
Nome Cognome: Danilo M.
Slackware: 64 14.0
Kernel: 3.2.29
Desktop: fluxbox

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 15: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
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 15:41

E' una riga che rimane fissa e si aggiorna ogni secondo, ma sempre sulla stessa riga... quello che dici tu è mkisofs...
Avatar utente
danix
Staff
Staff
 
Messaggi: 3280
Iscritto il: ven ott 27, 2006 18:32
Località: Siderno (RC)
Nome Cognome: Danilo M.
Slackware: 64 14.0
Kernel: 3.2.29
Desktop: fluxbox

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 15: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à
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: [bash] leggere stdout con dialog

Messaggioda Mario Vanoni » dom mag 18, 2008 15: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.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 16: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??
Avatar utente
danix
Staff
Staff
 
Messaggi: 3280
Iscritto il: ven ott 27, 2006 18:32
Località: Siderno (RC)
Nome Cognome: Danilo M.
Slackware: 64 14.0
Kernel: 3.2.29
Desktop: fluxbox

Re: [bash] leggere stdout con dialog

Messaggioda Mario Vanoni » dom mag 18, 2008 16: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
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: [bash] leggere stdout con dialog

Messaggioda targzeta » dom mag 18, 2008 16: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
targzeta
Iper Master
Iper Master
 
Messaggi: 6185
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: [bash] leggere stdout con dialog

Messaggioda danix » dom mag 18, 2008 16:28

mentre aspetto buone nuove su questo fronte ne approfitto e vi ringrazio per l'interessamento... :D
Avatar utente
danix
Staff
Staff
 
Messaggi: 3280
Iscritto il: ven ott 27, 2006 18:32
Località: Siderno (RC)
Nome Cognome: Danilo M.
Slackware: 64 14.0
Kernel: 3.2.29
Desktop: fluxbox

Prossimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron