Pfad von ausführbaren Programmen ermitteln
Hin und wieder kommt es vor, dass Shell-Skripte die manuell ausgeführt werden einwandfrei funktionieren, während diese per Cronjob ausgeführt nur Fehler produzieren. Dies liegt oft daran, weil in per Cronjob ausgeführten Skripten die PATH-Variable nicht vorhanden ist. Abhilfe schafft die Angabe des Pfades vor dem jeweiligen Command-Befehls. Um einen Pfad zu einem Linux-Command-Befehl zu ermitteln nutzt man den Befehl which.
which <command>
which ping
Dieses Problem ist mir vor allem unter MacOSX aufgefallen (hier liegt der ping-Befehl z.B. unter /sbin/ping).
Die gesetzten Pfade für das ausführen von Programmen kann man sich übringens mit dem folgenden Befehl ausgeben lassen.
echo $PATH