Hallo,
ich hab ein wirklich kleines Skript geschrieben, jedoch habe ich nun ein Problem.
-------------ANFANG------------
#!/bin/sh
PATH=/usr/src # Standardverzeichnis
DAYS=4 # Anzahl Tage
if [ -z "$1" ]
then
USE_PATH=$PATH
else
USE_PATH=$1
fi
if [ -d "$USE_PATH" ]
then
# WIESO KLAPPT DIESE ZEILE NICHT?
find "$USE_PATH" -mtime +"$DAYS" -print0 | xargs -0 rm -f
else
echo "Error: $1 nicht gefunden oder ist kein Verzeichnis"
fi
------------ENDE-------------
Da bekomm ich die Meldung, dass er "find" nicht finden könnte. Egal welchen Befehl ich da einsetzte...
Setzte ich den Befehl ganz nach oben klappt alles.
Danke im Vorraus
Sebastian
Skripthilfe
Re: Skripthilfe
Im Script verwendest Du die Variablenbezeichnung PATH.
Diese Bezeichnung ist aber der Umgebungsvariablen PATH vorbehalten.
Siehe 'echo $PATH'
Wenn Du im Script nun einen Befehl wie "find" aufrufst, wird "find" normalerweise in den Verzeichnissen die in PATH stehen gesucht.
Also sucht dein Script das Kommando "find" nur in /usr/src, da du den Pfad zu Beginn des Scripts so gesetzt hast.
Entweder Du verwendest im Script eine andere Bezeichnung als PATH, oder Du musst jedesmal den vollen Pfad angeben, z.B. '/usr/bin/find' anstelle von 'find'.
Gruß
Michael
Diese Bezeichnung ist aber der Umgebungsvariablen PATH vorbehalten.
Siehe 'echo $PATH'
Wenn Du im Script nun einen Befehl wie "find" aufrufst, wird "find" normalerweise in den Verzeichnissen die in PATH stehen gesucht.
Also sucht dein Script das Kommando "find" nur in /usr/src, da du den Pfad zu Beginn des Scripts so gesetzt hast.
Entweder Du verwendest im Script eine andere Bezeichnung als PATH, oder Du musst jedesmal den vollen Pfad angeben, z.B. '/usr/bin/find' anstelle von 'find'.
Gruß
Michael