[Risolto] Script x log caratt. tecniche installazione Debian

Bash, Perl, Python, Ruby, ...
Rispondi
Avatar utente
federico01
Sr. Member
Sr. Member
Messaggi: 369
Iscritto il: 27/04/2010, 14:49

[Risolto] Script x log caratt. tecniche installazione Debian

Messaggio da federico01 »

Prendendo a prestito quanto presente nella guida "come formulare quesiti tecnici" http://guide.debianizzati.org/index.php ... i_al_forum

mi sono costruito uno script "ctl.sh" che crea un file di log:

Codice: Seleziona tutto

#!/bin/sh
script log.txt
echo --- Versione Sistema ---
cat /etc/debian_version
echo ------------------------
echo --- dmesg
dmesg
echo ---------------------------------------------------
echo --- lspci
lspci -vn
echo ------------------------------------------------------------------
echo --- lsusb
lsusb -v
echo ------------------------------------------------------------------------------
exit
quando lo eseguo con

Codice: Seleziona tutto

$ ./ctl.sh
rimane fermo, crea solo il file log.txt vuoto e se vado a chiudere il terminale mi dice che c'è un processo in esecuzione:

dove sbaglio ?

Grazie
Ultima modifica di federico01 il 20/02/2011, 16:17, modificato 1 volta in totale.
Federico

"La democrazia deve nascere dalla terra come un fiore, di forma e colore diversi in ogni territorio."
Richard A. Clarke
Jinko

Re: Script per caratteristiche tecniche installazione Debian

Messaggio da Jinko »

Codice: Seleziona tutto

#!/bin/sh
script -c "dmesg" -a logs.txt
script -c "cat /etc/debian_version" -a logs.txt
script -c "lspci -vn" -a logs.txt
script -c "lsusb -v" -a logs.txt
exit
Aki
Global Moderator
Global Moderator
Messaggi: 9965
Iscritto il: 27/12/2007, 16:59

Re: Script per caratteristiche tecniche installazione Debian

Messaggio da Aki »

Ciao,

Come indicato nella pagina di manuale del comando script:

Codice: Seleziona tutto

NAME
     script - make typescript of terminal session
SYNOPSIS
     script [-a] [-c COMMAND] [-f] [-q] [-t] [file]
DESCRIPTION
[..]
     The script ends when the forked shell exits (a control-D to exit the Bourne shell (sh(1)), and exit, logout or control-d (if ignoreeof is not set) for the C-shell, csh(1)).
[..]
In altri termini, quando il comando script è impartito, esso crea ("fork") un nuovo processo dell'interprete interattivo (da cui è stato avviato) e a tale nuovo processo passa il controllo avendo però l'accortezza di reindirizzare ad un file l'input e l'output. Attraverso l'interprete eseguito in questo nuovo processo sono impartiti i comandi il cui input/output si desidera registrare. Per uscire da questo processo, è necessario terminare l'interprete, ad esempio, impartendo il comando exit.

Pertanto, nel file ctl.sh che hai inviato, il comando script alla riga 2 avvia un nuovo processo e quindi restituisce il controllo all'interprete interattivo: comparirà il cursore. Le rimanenti righe (dalla 3 in poi) del file saranno eseguite solo dopo aver impartito il comando exit e, quindi, non saranno registrate nel log del comando script.

Per utilizzare il comando all'interno di uno script puoi utilizzare l'opzione -c :

Codice: Seleziona tutto

[..]
     Options:
[..]
     -c COMMAND
             Run the COMMAND rather than an interactive shell.  [..]
Il file ctl.sh, pertanto, potrebbe così scriversi:

Codice: Seleziona tutto

#!/bin/sh
script -c "
	echo --- Versione Sistema --- ; 
	cat /etc/debian_version ; 
	echo ------------------------ ;  
	echo --- dmesg ; 
	dmesg ; 
	echo --------------------------------------------------- ; 
	echo --- lspci ; 
	lspci -vn ; 
	echo ------------------------------------------------------------------ ; 
	echo --- lsusb ; 
	lsusb -v ; 
	echo ------------------------------------------------------------------------------ ; 
" log.txt 
Aki.
Avatar utente
federico01
Sr. Member
Sr. Member
Messaggi: 369
Iscritto il: 27/04/2010, 14:49

Re: Script per caratteristiche tecniche installazione Debian

Messaggio da federico01 »

Creato script:

Codice: Seleziona tutto

#!/bin/sh
script -c "
 echo --- Versione Sistema ---;
 cat /etc/debian_version;
 echo --- fine;

 echo --- dmesg;
 dmesg;
 echo --- fine dmesg;

 echo --- lspci;
 lspci -vn;
 echo --- fine lspci;

 echo --- lsusb;
 lsusb -v;
 echo --- fine lsusb;

 echo ------------ mount - Periferiche utilizzate;
 mount;
 echo --- fine mount;

 echo ------------ FASTAB;
 cat /etc/fstab;
 echo --- fine FASTAB;

 echo ------------ Schede Rete;
 cat /etc/network/interfaces;
 echo --- fine Schede Rete;

" -a log.txt
exit
ciao
Federico

"La democrazia deve nascere dalla terra come un fiore, di forma e colore diversi in ogni territorio."
Richard A. Clarke
Aki
Global Moderator
Global Moderator
Messaggi: 9965
Iscritto il: 27/12/2007, 16:59

Re: [Risolto] Script x log caratt. tecniche installazione De

Messaggio da Aki »

Ciao,
il comando finale exit non serve con tale impostazione.
Aki.
Avatar utente
federico01
Sr. Member
Sr. Member
Messaggi: 369
Iscritto il: 27/04/2010, 14:49

Re: [Risolto] Script x log caratt. tecniche installazione De

Messaggio da federico01 »

Grazie Aki

Ciao
Federico

"La democrazia deve nascere dalla terra come un fiore, di forma e colore diversi in ogni territorio."
Richard A. Clarke
Rispondi