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

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

Например через крон или вручную с терминала.
  • Вопрос задан
  • 2667 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    7 месяцев
    Далее
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
Решения вопроса 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, как интерпритатор, который запустил крон.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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