Wie kann ich einen Cron-Befehl mit vorhandenen Umgebungsvariablen ausführen?
Wenn ich an einer Shell-Eingabeaufforderung bin, kann echo $ORACLE_HOME
ich einen Pfad eingeben und abrufen. Dies ist eine meiner Umgebungsvariablen, die in my gesetzt wird ~/.profile
. Es scheint jedoch, dass von ~/.profile
Cron-Skripten keine geladen werden und meine Skripten fehlschlagen, weil die $ORACLE_HOME
Variable nicht gesetzt ist.
In dieser Frage erwähnt der Autor das Erstellen eines ~/.cronfile
Profils, das Variablen für cron einrichtet, und führt dann eine Problemumgehung durch, um alle seine cron-Befehle in Skripten zu laden, die er in seinem ~/Cron
Verzeichnis aufbewahrt. Eine Datei ~/.cronfile
klingt nach einer guten Idee, aber der Rest der Antwort scheint etwas umständlich zu sein, und ich hatte gehofft, jemand könnte mir einen einfacheren Weg nennen, um das gleiche Ergebnis zu erzielen.
Ich nehme an, zu Beginn meiner Skripte könnte ich so etwas hinzufügen, source ~/.profile
aber das scheint so, als könnte es überflüssig sein.
Wie kann ich meine Cron-Skripte dazu bringen, die Variablen aus meinem Interactive-Shell-Profil zu laden?
source ~/.profile
zu einem Programm überflüssig? Programme erben ihre Umgebung vom aufrufenden Programm. Wenn dieses aufrufende Programm nicht Ihre Shell ist, wie erhält dann das untergeordnete Programm die gewünschte Umgebung?