Hallo Leute
Ich habe ein kleines Problem unter Linux (SuSE SLES9). Eine Anwendung wird in verschiedenen Verzeichnissen parallel installiert. Das Startskript soll in allen Installationen identisch sein, damit der Wartungsaufwand nich allzuhoch wird. Das Startskript soll aber abhängig vom Installationsverzeichnis die richtigen Konfigurationsdateien verwenden.
zur Verdeutlichung:
/opt/app1/bin/start.sh
/opt/app1/bin/app.exe
/opt/app1/conf/config.xml
/opt/app2/bin/start.sh
/opt/app2/bin/app.exe
/opt/app2/conf/config.xml
Wie kann das Startskript nun herausfinden, in welchem Verzeichnis es liegt? Das Skript kann ja im Prinzip von jedem beliebigen Pfad aus aufgerufen werden. D.h. egal ob ich:
/tmp# /opt/app1/bin/start.sh
oder
/opt/app2# …/app1/bin/start.sh
oder
/opt/app1# ./bin/start.sh
ausführe, es soll immer die Anwendung aus dem app1-Verzeichnis und vor allem die Konfigurationsdatei aus /opt/app1/conf genommen werden.
Und wie schon gesagt: die jeweiligen Startskripte müssen identisch bleiben und es soll auch nicht notwendig sein, dem Skript einen Parameter mitzugeben.
Mit $0 bekomme ich ja noch den Dateinamen, mit dem das Skript aufgerufen wurde. Nur wie bekomme ich nun den absoluten Pfadnamen des aktuellen Skripts?
Vielen Dank für die Unterstützung
lg
Erwin