KornShell - Set "-x" (debug) flag Global?

Gibt es eine Möglichkeit zum festlegen der debug-Modus(set-x) auf eine KornShell (ksh), Skript, weltweit? Derzeit scheint es, habe ich etwas wie die folgende:

a(){
   set -x
   #commands
}

b(){
   set -x
   #more commands
}

set-x 
a
#commands
b

Ich würde wirklich gerne, nur haben Sie zum aufrufen der set-x-Befehl in einer Stelle.

Hinweis: Das ist alles in KSH88 auf AIX.

Beispiel:

#!/bin/ksh
set -x

a(){
   echo "This is A!"
}

b(){
   echo "This is B!"
}

a
echo "Outside"
b
dev2:/home/me-> ./testSetX 
+ ein 
Dies ist Eine! 
+ echo Außerhalb 
Außerhalb 
+ b 
Das ist B! 
dev2:/home/me-> 
  • Das ist komisch. Ich habe auch gerade versucht, es in ksh88 (und ksh93) auf einem meiner AIX-Systemen, und bekomme ich das benehmen beschrieben. Aber der ksh88 auf meiner HP-UX-Systemen arbeiten, wie Sie wollen. Ich veränderte meine Antwort und reflektieren die Ergebnisse.
  • fyi, ksh88 /usr/bin/ksh auf Solaris 10 zeigt auch das beschriebene Verhalten (keine Globale Wirkung set -x).
InformationsquelleAutor C. Ross | 2010-02-16
Schreibe einen Kommentar