Kann man erkennen, ob ein Linux-Shell-Skript von einem Benutzer oder einem Cronjob ausgeführt wird?Wie überprüft man, ob Linux-Shell-Skript von einem Cronjob ausgeführt wird?
Wenn ja, wie kann ich feststellen/prüfen, ob das Shell-Skript von einem Cronjob ausgeführt wird?
Ich möchte ein Feature in meinem Skript implementieren, das einige andere Nachrichten zurückgibt, als ob es von einem Benutzer ausgeführt wird. So zum Beispiel:
if [[ "$type" == "cron" ]]; then
echo "This was executed by a cronjob. It's an automated task.";
else
USERNAME="$(whoami)"
echo "This was executed by a user. Hi ${USERNAME}, how are you?";
fi
Verwenden Sie Umgebungsvariablen? '* * * * * CRON_FIRED = true/Pfad/zu/Mein Skript' aber beachten Sie, dass die Syntax [abhängig von der Cron-Implementierung] (http://stackoverflow.com/a/10657111/2908724) und auch trivial täuschen kann . – bishop