[ImoLUG] R: Help debus script bash
valerio.balbi@gmail.com
valerio.balbi@gmail.com
Dom 11 Lug 2010 19:07:20 CEST
Bale serve un po' di olio di gomito, nel senso che devi (imho) cominciare a segmentare il programmammello.
Ed usare ovviamente il comando che hai trovato su google
Io uso la versione
Set -x e set +x
Per attivare e disattivare l'echoing
Daidai che ce la fai
Le mail ti raggiungono ovunque con BlackBerry® from Vodafone!
-----Original Message-----
From: Paride Balestri <paridebalestri@gmail.com>
Sender: imolug-bounces+valerio.balbi=gmail.com@lists.linux.it
Date: Sun, 11 Jul 2010 15:07:13
To: ImoLUG - ML<imolug@lists.linux.it>
Reply-To: imolug@lists.linux.it
Subject: [ImoLUG] Help debus script bash
Ciao a tutti!
Sto scrivendo uno script in bash ma ho un po' di problemi con le variabili.
Avrei bisogno di fare del debug, magari step-by-step, e magari potendo
vedere anche lo stack delle chiamate, le variabili "in pancia" ecc....
Googlando ho trovato che mettendo nello script come prima riga
#!/bin/sh -x attivo il debug... ma non è esattamente quello che vorrei...
In sostanza il mio primo problema da risolvere è il seguente:
a) leggo il pid di un processo dal suo file in /var/run
b) verifico con ps se il pid compare tra i processi attivi (per evitare
che il file di pid sia rimasto "appeso")
c) se a=b allora tutto ok altrimenti segnalo con un notify che il
processo non sta girando.
Il problema è quando vado a fare la comparazione tra le 2 stringhe che
contengono il pid, ovvero:
pidfile=`cat /var/run/freepops.pid`
pidprocess=`ps ax -o pid -o comm | grep freepopsd`
echo Pidfiile len: ${#pidfile} <----- questo restituisce 4
pidfile=" $pidfile freepopsd" <------ aggiungo la stringa in modo da
renderla "uguale" a $pidprocess
echo Pidfile new len: ${#pidfile} <------ questo restituisce 14
echo Pidfile: $pidfile
echo $pidfile | hexdump -C
echo Pidprocess: $pidprocess
echo $pidprocess | hexdump -C
echo Pidprocess len: ${#pidprocess} <----- questo restituisce 15
if [ pidfile = pidprocess ]; then <------ questo restituisce false
echo WOW !!!!
else
echo OUCH !!!
fi
Il problema è che non capisco come mai se con hexdump le due variabili
sono identiche, per la lunghezza non lo sono....
Non riesco a capire.... ecco perchè mi servirebbe il debug di cui
parlavo sopra...
Qualcuno ha qualche idea ?
Grazie a tutti
Ciauz
bale
_______________________________________________
ImoLUG mailing list
imolug@lists.linux.it
http://lists.linux.it/listinfo/imolug
Connettivita' offerta da Waymedia - http://www.waymedia.it/
Maggiori informazioni sulla lista
ImoLUG