Выкидываю заметку из черновиков как есть.
Для начала оговоримся, что мы имеем дело именно с башем — со скриптами под свои нужды, автоматизацией рутинных действий и т.п. никаких загрузочных скриптов и прочего restricted posix shell.
Если вам не нужна переносимость (между ОС (*nix, *BSD, Solaris, etc) и шелами (sh, dash, bash, zsh, tcsh, ksh etc)), вы пишите не скрипт инициализации для SysVinit а просто скрипт для личных и не очень нужд, имеет смысл не ограничивать себя рамками posix-совместимого шела. Нижеследующие советы предлагаются к прочтению всем, кто не читал man bash или соответствующую главу POSIX'a.