Как известно, cron использует sh для запуска команд. Но через переменную SHELL можно задать тот же самый bash. Есть смысл это делать? Или использование sh даёт какое-то важное преимущество?
18 Sep
2019
почти никакого. запускается всё тот же баш. мойшешь заюзать, например, dash, пишут, что он пырее.
schizomurr, кек. на уровне sh они все совместимы. а вот башизмы могут не прокатить, по-этому за инклюдами надо следить.
sh подразумевает posix. Что для этого в системе - особенности отдельной конкретной системы.
если bash(1) в "INVOCATION" не врет, то:
Как и в zsh(1) в "COMPATIBILITY":
А дебиановский
dash
:// хотя мне его пришлось устанавливать вручную.
кушай кашку, читай руководства и не выебывайся -- все будет хорошо
Выше сказано, как шеллы прикидываются sh, а не зачем они это делают =_=
любой шелл должен уметь быть как sh, чтоб иметь возможность выполнить написанный в соответствии с sh-синтаксисом скрипт. т.е. втыкаешь ты себе глобально по всей системе zsh, а у тебя ничего не распидорасило и работает, потому что всё писали котики на базовом sh без башизмов.
Почему не рекомендуется? Если у меня одна система, и никуда я её переносить не собираюсь...
Не рекомендуется ради переносимости и ожидаемого поведения. Традиционно, не более.
В качестве
SHELL
можно установить все что способно выполнить 7(6) параметр кронтаба + нюансы подобно конца строки. Либо в 7(6) параметр можно запихнуть все, что можетSHELL
. В зависимости от точки зрения.