Описание тега history
Для К1 & К2, см. здесь. К3 ответил в обсуждении остальные три ниже вопросы.
WRT на $BASH_ENV
, от человека Баша
:
Когда Баш запускается в неинтерактивном режиме, чтобы запустить скрипт, для например, он ищет переменную BASH_ENV в окружающей среде, расширяет свое значение, если оно там появится, и использует развернутое значение как имя файла для чтения и выполнения.
Так что это может быть .профиль
тип сценария. А где или кто ее установил, это зависит от контекста-как правило, это не набор, но это мог быть любой предок нынешнего процесса. хрон
не кажется, чтобы сделать любое специальное использование этого, и, насколько мне известно, нет инициализации.
Это значит, что сама cron работает в bash?
Если "в" то есть, запускается из оболочки, то это зависит от системы инициализации, например, в стиле SysV выполняет скрипты для сервисов, поэтому эти услуги всегда запускается через оболочку.
Но если "в" Значит, "это таким образом дочернего процесса оболочка?", нет. Как и другие демоны, он работает в качестве лидера собственной группы процесса и родительского процесса является процесс init (PID-регулятора 1).
Последствия для хрон
окружающей среды, вероятно, несущественной, однако. Подробнее об условиях услуги по вводу в эксплуатацию, посмотрим, что ответят, указанному выше в отношении В1 & В2. В зависимости от хрон в частности, по Человек 5 кронтаб
он также устанавливает некоторые переменные окружения, унаследованные от любой процесс начинается ($параметр logname
, в$Home
и $раковина
).
Команды, указанные в crontab интерпретируются в bash?
Они интерпретируются с ш
или $оболочкой
; снова из человек 5 кронтаб
:
Все командование части линии, вплоть до перевода строки или символа"%", будет выполнен с помощью /bin/sh или оболочкой, указанных в оболочке переменной cronfile. А символ "%" в команду, если отделался обратная косая черта (), будут изменены на символы новой строки, и все данные после первого % будут отправлены команды на стандартный ввод.
Подчеркнутая часть ответов В3.
Сценарии, которые не имеют shebangs в них, выполняются с помощью $Шелл
Исполняемые скрипты С или без shebangs открываются $Шелл
(или Ш
). Разница в том, что те, с притон будет передан соответствующий интерпретатор (#!/Бен/ш
быть еще один экземпляр оболочки), в то время как исполняемые скрипты (те, с исполняемый бит установлен, что является ссылкой, а исполняемые файлы) без исключения просто не получится, как бы они при запуске из командной строки (Если вы их запустите, ш script.sh
).