Bash: Diferență între versiuni
De la Wiki.lug.ro
Wolfy (Discuție | contribuții) |
(→Depanare linie cu linie) |
||
| (Nu s-au afișat 8 versiuni intermediare efectuate de alți 3 utilizatori) | |||
| Linia 1: | Linia 1: | ||
| + | ==Ponturi== | ||
| + | |||
| + | ===Depanare linie cu linie=== | ||
| + | |||
Heya all, | Heya all, | ||
| Linia 4: | Linia 8: | ||
descopar si folosesc. Wha' zeat? depanare linie cu linie. | descopar si folosesc. Wha' zeat? depanare linie cu linie. | ||
| − | [teo@teo scripts]$ cat debugger.sh | + | [teo@teo scripts]$ cat debugger.sh |
| − | + | ||
| − | function dbg() | + | function dbg() |
| − | + | ||
| − | { | + | { |
| − | + | read -p '(dbg) ' x | |
| − | + | case $x in | |
| − | + | e) env|less;; | |
| − | + | p*) echo $x;v=${x//p /}; echo ${!v};; | |
| − | + | *) eval $x;; | |
| − | + | esac | |
| − | } | + | } |
| − | + | ||
| − | trap "dbg" DEBUG | + | trap "dbg" DEBUG |
| − | + | ||
| − | set -x | + | set -x |
| Linia 26: | Linia 30: | ||
e - afiseaza environ | e - afiseaza environ | ||
| + | |||
p variabila - afiseaza variabila | p variabila - afiseaza variabila | ||
Versiunea curentă din 8 ianuarie 2006 05:35
Ponturi[modificare]
Depanare linie cu linie[modificare]
Heya all,
Poate ca nu o fi nou, dar eu m-am entuziasmat foarte tare sa-l descopar si folosesc. Wha' zeat? depanare linie cu linie.
[teo@teo scripts]$ cat debugger.sh
function dbg()
{
read -p '(dbg) ' x
case $x in
e) env|less;;
p*) echo $x;v=${x//p /}; echo ${!v};;
*) eval $x;;
esac
}
trap "dbg" DEBUG
set -x
si apoi in scriptu' de depanat se include debugger.sh
e - afiseaza environ
p variabila - afiseaza variabila
orice altceva este evaluat in contextul de la linia cu pricina, the sky is the limit pt imaginatie :)
have fun! :)
(10x teodor cimpoesu)