Zitat von
daswaldhorn
suchst du pwd -- print working directory?
Das liefert Dir den Pfad, in dem Du beim Aufruf eines Scripts stehst, nicht den Pfad des Scripts. Für letzteren gibt es folgende Möglichkeiten:
1. Das Script wird mit einem absoluten Pfad aufgerufen. Dann kannst Du den Pfad mit SCRIPT_PATH=`dirname $0` im Script ermitteln.
2. Das Script wird mit einem relativen Pfad aufgerufen. Dann kriegst Du den Pfad mittels SCRIPT_PATH=`pwd`/`dirname $0` raus.
3. Das Script wird ohne Pfad aufgerufen. Dann liegt es im Suchpfad ($PATH) und der Pfad kann mittels SCRIPT_PATH=`dirname \`which $0\`` ermittelt werden.
Um alle Möglichkeiten abzuklappern, kann folgender Code-Schnipsel benutzt werden (ungetestet):
Code:
# Pfad enthaelt kein / - also aus which bestimmen
if test -z "`echo \"$0\" | grep /`"; then
SCRIPT_PATH=`dirname \`which "$0"\``
# Pfad beginnt mit / - also absoluter Pfad
elif test "`echo $0 | cut -c1`" = "/"; then
SCRIPT_PATH=`dirname "$0"`
# alles andere: relativer Pfad
else
SCRIPT_PATH=`pwd`/`dirname "$0"`
fi
Jan
Lesezeichen