maxpoitn2point
@maxpoitn2point
Как всегда, в своем репертуаре

Можно ли в скрипте bash узнать как он был запущен?

Например через крон или вручную с терминала.
  • Вопрос задан
  • 2666 просмотров
Решения вопроса 1
@RPG
Наиболее надежный способ - задать в кронтабе переменную окружения, а в скрипте эту переменную окружения считывать, но нужно изменить кронтаб:
CRON_MODE=1
* * * * * env > ~/env

В файл env попадут:
SHELL=/usr/bin/sh
USER=rpg
PATH=/usr/bin:/bin
PWD=/home/rpg
SHLVL=1
HOME=/home/rpg
CRON_MODE=1
LOGNAME=rpg
_=/usr/bin/env


stackoverflow.com/a/3215128
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
TrueBers
@TrueBers
Гуглю за еду
А гугл упал что ли?
Ответ написан
Комментировать
merryjane
@merryjane
Системный администратор
Если только пробовать использовать переменную $PPID.
Но у меня crontab она не показала. Только sh, как интерпритатор, который запустил крон.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы