Czy można zidentyfikować, czy skrypt powłoki Linux jest wykonywany przez użytkownika lub cronjob?Jak sprawdzić, czy skrypt powłoki Linux jest wykonywany przez cronjob?
Jeśli tak, w jaki sposób mogę zidentyfikować/sprawdzić, czy skrypt powłoki jest wykonywany przez cronjob?
Chcę zaimplementować funkcję w moim skrypcie, która zwraca inne wiadomości tak, jakby była wykonywana przez użytkownika. Na przykład:
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
Użyj zmiennych środowiskowych? '* * * * * CRON_FIRED = true/path/to/myscript' ale zauważ, że składnia jest [zależna od implementacji crona] (http://stackoverflow.com/a/10657111/2908724) i może być również oszukiwana trywialnie . – bishop