Вопрос не был полностью дан ответ, ИМХО. Я попытаюсь объяснить: у меня есть запись в crontab, которая планирует командную процедуру оболочки bash, которая, в свою очередь, выполняет некоторую очистку моих файлов; и, когда закончите, отправляет мне уведомление , используя центр уведомлений OS X (с командой osascript -e 'display notification ...
). Если кто-то (например, моя жена или моя дочь) переключает на нее текущего пользователя компьютера, оставляя меня в фоновом режиме, сценарий cron завершается неудачно при отправке уведомления.
Итак, Кто является текущим пользователем означает Кто-то другой стал эффективным пользователем, оставив меня на заднем плане ? stat -f "%Su" /dev/console
возвращает текущего активного пользователя имя?
Ответ - да; Итак, теперь мой сценарий оболочки crontab был изменен следующим образом:
...
if [ "$(/usr/bin/stat -f ""%Su"" /dev/console)" = "loreti" ]
then /usr/bin/osascript -e \
'display notification "Cleanup done" sound name "sosumi" with title "myCleanup"'
fi