Bash: Diferență între versiuni

De la Wiki.lug.ro
Salt la: navigare, căutare
(Depanare linie cu linie)
 
(Nu s-au afișat 9 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()
 +
 +
{
 +
  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
  
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
 
si apoi in scriptu' de depanat se include debugger.sh
  
 
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)