klattenhoff
21-06-2007, 09:44
Hi @ll,
ich habe mehrere voneinander abhängige Shellskripte, die mit weiteren benötigten Dateien in einem Verzeichnis liegen.
Nun möchte ich aber nicht vorgeben, daß die Nutzer dieses Skript immer nur aus diesem Verzeichnis ausführen können, sondern aus jeden beliebigen... Da die Pfadangaben aber über eine Konfigurationsdatei vorgegeben sind, muss ich diese ja einlesen. Das will ich nun aber nicht mit einem absoluten Verweis machen, sondern relativ.
Wenn ich nun das Skript aber aus einem anderen Verzeichnis aufrufe meldet er mir, daß er die Konfigurationsdatei nicht finden kann.
Aus dem Grund suche ich eine Funktion, die ich im ShellSkript selbst aufrufen kann und die mir sagt, wo dieses ShellSkript eigentlich liegt...
Gibt es so etwas?
pwd etc. schaffen das meiner Meinung nach nicht, da sie immer das Verzeichnis ausgeben, in dem ich den Aufruf eingetragen hab, sprich wenn ich die test.sh aus dem rootverzeichnis her aufrufe (HOST:/ # /opt/test/test.sh) bekomme ich bei einem pwd in der test.sh nur "/" angegeben...
Wäre super wenn jemand eine Lösung hätte :-)
thanx in advance
ich habe mehrere voneinander abhängige Shellskripte, die mit weiteren benötigten Dateien in einem Verzeichnis liegen.
Nun möchte ich aber nicht vorgeben, daß die Nutzer dieses Skript immer nur aus diesem Verzeichnis ausführen können, sondern aus jeden beliebigen... Da die Pfadangaben aber über eine Konfigurationsdatei vorgegeben sind, muss ich diese ja einlesen. Das will ich nun aber nicht mit einem absoluten Verweis machen, sondern relativ.
Wenn ich nun das Skript aber aus einem anderen Verzeichnis aufrufe meldet er mir, daß er die Konfigurationsdatei nicht finden kann.
Aus dem Grund suche ich eine Funktion, die ich im ShellSkript selbst aufrufen kann und die mir sagt, wo dieses ShellSkript eigentlich liegt...
Gibt es so etwas?
pwd etc. schaffen das meiner Meinung nach nicht, da sie immer das Verzeichnis ausgeben, in dem ich den Aufruf eingetragen hab, sprich wenn ich die test.sh aus dem rootverzeichnis her aufrufe (HOST:/ # /opt/test/test.sh) bekomme ich bei einem pwd in der test.sh nur "/" angegeben...
Wäre super wenn jemand eine Lösung hätte :-)
thanx in advance