script che lancia un altro script in un terminale [messaggio #127971] |
mer, 12 ottobre 2011 14:58 |
bc Messaggi: 141 Registrato: aprile 2011 |
Senior Member |
|
|
Problema:
Ho uno script (perl, ma mi va benissimo anche una soluzione bash) che mi
enumera le serie di directory e per ognuna lancia 7z e controlla che
ritorni 0. (zero = tutto OK)
FUNZIONA, ma Purtroppo l'output in fase di funzionamento non è per nulla
chiaro.
Chiamandolo con xterm -e comandocompresione_z7
per me l'output migliorerebbe moltissimo.
Avrei sul terminale principle lo stato di avanzamento dello script,
mentre sui vari xterm che si aprono di volta in volta l'avanzamento di
7zip. In questo modo riesco facilmente a capire a che punto è arrivato.
PURTROPPO se faccio così il mio programma non vede piu il ritorno di 7z,
ma il ritorno di xterm e mi perdo l'informazione su eventuali errori.
l'unica soluzione che mi viene in mente è creare un programmacontenitore
che lancia 7zip e salva lo stato di ritorno su un file "STATOCOMPRESSIONE".
poi nel ciclo di lanci di 7z usare una sequenza del tipo
1 )Cancellazione di un eventuale file precedente "STATOCOMPRESSIONE"
rimasto per errore (prog terminato prematuramente prima di punto 4)
2 )xterm -e programmacontenitorechelancia_z7 (cartella da comprimere)
3 ) Lettura del risultato da "STATOCOMPRESSIONE"
4 ) cancellazione "STATOCOMPRESSIONE"
Dovrebbe funzionare, ma lo trovo poco elegante.
Un altro problema che è che mi piacerebbe avere un log di quello che
faccio, ma non posso semplicemente redirigere l'output.
Perchè se faccio una semplice redirezione non ho più l'output normale
sul terminale... e non riesco a capire a che punto è arrivato.
googleggiando mi è sembrato che screen faccia al caso mio, ma poi non
capisco come usarlo.
|
|
|