Bash: Diferență între versiuni

De la Wiki.lug.ro
Salt la: navigare, căutare
(Depanare linie cu linie)
 
(Nu s-au afișat 7 versiuni intermediare efectuate de alți 2 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
+
  read -p '(dbg) ' x
  case $x in
+
  case $x in
    e) env|less;;
+
    e) env|less;;
    p*) echo $x;v=${x//p /}; echo ${!v};;
+
    p*) echo $x;v=${x//p /}; echo ${!v};;
    *) eval $x;;
+
    *) eval $x;;
  esac
+
  esac
}
+
}
 
+
trap "dbg" DEBUG
+
trap "dbg" DEBUG
 
+
set -x
+
set -x
  
  

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)