Name des gerade laufenden Scriptes anzeigen (über $0)

05/06/2008 - 14:45 von SebastianH | Report spam
Hallo!

Ich möchte durch ein Script (=Script1) ein weiteres Script (=Script2)
aufrufen. Script2 soll dabei Kenntnis vom Namen(+Pfad) des aufrufenden
Scriptes (Script1) erlangen.

Dies geht im Normalfall, indem ich aus Script1 den Variableninhalt von
$0 (besser: "which $0") an Script2 übergebe.

Leider ist es erforderlich, dass Script1 direkt in der aktuellen Shell
làuft, was sich mit ". ./script1.sh" auch realisieren làßt.

In diesem Fall liefert $0 aber die Shell ("/bin/bash") und nicht den
Scriptnamen zurück.

Ist es für Script2 dennoch irgendwie möglich, den Namen (+Pfad) von
Script1 herauszubekommen?

Viele Grüße,
SebastianH.
 

Lesen sie die antworten

#1 Markus Wichmann
05/06/2008 - 21:56 | Warnen spam
SebastianH schrieb:
Ist es für Script2 dennoch irgendwie möglich, den Namen (+Pfad) von
Script1 herauszubekommen?

Viele Grüße,
SebastianH.



Wenn du script1 immer aus dem aktuellen Verzeichnis heruas startest,
reicht die Auswertung von $PWD. Ansonsten hast du die Möglichkeiten:

1.) in bekannten Pfaden zu suchen:

PATH="/pfad/1:/pfad/2:/etc" which script1.sh

2.) in _allen_ Pfaden suchen:

find / -name 'script1.sh'

HTH,
Markus
Nur weil ein Genie nix reißt, muß ja nun nicht gleich jeder Idiot
pausieren... Bully hats ja auch geschafft.

Ähnliche fragen