• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

(bash) Aufrufendes Script erkennen

Ich habe MAN und Google befragt, habe aber nichts gefunden. Ich kann mich aber noch dumpf erinner daß es so eine Umgebungsvariablen oder ähnliches gibt.

Script a oder b ruft Script c auf. In Skript c möchte ich abfragen welches Sckript das Aufrufende war. Weis da jemand eine Antwort?

[/b]
 
Versuch mal das folgende:
in script a
export SCRIPT=A

in skript b

export SCRIPT=B

In beiden skripten steht dann:

/pfad/zu/skript-c

in Skript C steht

Code:
if [ $SCRIPT = "A" ]
   then
      echo Skript A
   else
      echo Skript B
   fi

Da Skript C in einer sub-shell von A oder B ausgführt wird, ist die exportierte Variabel dort bekannt.
 
A

Anonymous

Gast
kannst auch versuchen das Script über den Prozessvater zu ermitteln
zB.
Code:
 ps -e | grep $PPID

robi
 
Ähnlich wie im ersten Beispiel habe ich es schon. Ich übergebe eine Variable an Skript C und frage dann $1 ab. Daß mit export ist da schon ein wenig besser. Ich bin aber der Mainung daß es eine Varable wie z.B. $# gibt, die den Namen des aufrufenden Programms enthält. Es könnte aber auch in C++ gewesen sein.
 
Oben