È possibile identificare, se uno script di shell Linux viene eseguito da un utente o un cronjob?Come verificare se uno script di shell Linux viene eseguito da un cronjob?
Se sì, come posso identificare/verificare, se lo script della shell viene eseguito da un cronjob?
Voglio implementare una funzione nel mio script, che restituisce alcuni altri messaggi come se fosse eseguita da un utente. Ad esempio:
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
Utilizzare le variabili di ambiente? '* * * * * CRON_FIRED = true/path/to/myscript' ma nota che la sintassi è [soggetta all'implementazione di cron] (http://stackoverflow.com/a/10657111/2908724) e può anche essere ingannata banalmente . – bishop