[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux_var] debug script bash



Lascia perdere... etc/issue, uname, lsb_release....
controllo su versioni minori di e superiori a...
chi piu ne ha piu ne metta.
sono ridicoli.



2013/2/11 emmanuel segura <emi2fast@gmail.com>
Puoi contrallare se lo script sapere se è una RH usa questo file /etc/redhat-release

Il giorno 11 febbraio 2013 15:17, Fox <root2fox@gmail.com> ha scritto:

Grazie.
Devo cercare di capire dei controlli che fa un installer di un gestionale... circa un 2500 righe tra i 3 files che mi interessano.
Niente di impossibile eh... mica devo leggere tutto... mi chiedevo solo se esisteva qualcosa tipo pappa pronta.
Il gestionale vuole o suse o RH
io ho messo apposta una Centos... solo che non gradisce.
Ad ogni versione riescono a modificare gli script, cosi ad ogni aggiornamento devo impazzire per cercare di fregare i controlli.
uff


2013/2/11 Luigi B <luigi.b@alice.it>
Il 10/02/2013 21:50, nextime ha scritto:
On Sun, Feb 10, 2013 at 11:52:03AM +0100, Fox wrote:
Ciao,
volevo sapere se qualcuno sa se esiste uno strumento da cui lanciare uno
script bash e verificarne il funzionamento.
Tipo il debug che si fa sugli ide... (es. eclipse o netbeans )

:)

Di norma si lancia semplicemente aggiungendo il -x e osservando
la console ( o redirigendone stdout e stderr a un file )





_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking


Concordo con il buon Nextime! Anch'io come debug degli script bash uso l'opzione -x

Con questa opzione scorre lo script passo a passo visualizzandolo anteponendo un "+", e mostra l'output normalmente.

Un po di esempi (nel quale "nome_script.sh" è lo script e "nome_script_debug" è il file nel quale si vuole scrivere l'output).

Normale:

$ bash -x nome_script.sh

se si vuole redirigere in un file senza visualizzare l'output:

$ bash -x nome_script.sh > nome_script_debug  2>&1

(ricordarsi di redirigere lo standard error nello standard output con "2>&1" se si vuole redirigere tale e quale quanto si vede a console, in caso contrario redirigerà solo l'output normale dello script)

se si vuole redirigere ma visualizzando l'output (usando "tee"):

$ bash -x nome_script.sh 2>&1 | tee nome_script_debug

Puoi anche aggiungere l'opzione "v" a "x" se vuoi un output ancora più dettagliato.

Ti passo anche un link che spiega alcune cose (tra l'altro l'uso di "set", utile, tra le altre cose, per fare il debug di script particolarmente lunghi):
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html






_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking


_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking




--
esta es mi vida e me la vivo hasta que dios quiera

_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking


_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking