Shell-Skript: Skript-Verzeichnis herausfinden

In welchem Verzeichnis liegt das Skript, das gerade ausgeführt wird?

Problem: Wie finde ich das Verzeichnis heraus, in dem die Script-Datei liegt, die gerade ausgeführt wird. Lösung: Die Spezial-Variable $0 und die Tools dirname und pwd kombinieren. Beispiel-Script #!/bin/sh SCRIPTPATH=$(cd `dirname $0` && pwd) echo $SCRIPTPATH Und so funktionierts In der Spezial-Variable $0 ist der Dateiname des Skripts gespeichert, das gerade ausgefürt wird. Für das Script /Users/jk/bin/test.sh #!/bin/sh echo $0 lautet die Ausgabe also /Users/jk/bin/test.sh dirname gibt den Verzeichnisteil aus dem kompletten Pfad zurück (siehe man dirname) und mit cd wechseln wir in dieses Verzeichnis. …