Описание тега sh
Sh , также известная как Bourne Shell, является стандартной оболочкой Unix, начиная с версии v7 Unix, в стандартном расположении/bin/sh
.
С тех пор POSIX имеет стандартизованное поведение оболочки на основе Bourne Shell, и переносимые сценарии оболочки должны соответствовать стандартизированному синтаксису.
Наиболее распространенным преемником Bourne Shell (sh) является bash - Bourne-Again Shell и многие Unix-подобные операционные системы имеют/bin/sh
связан с bash
исполняемый файл; когдаbash
называется как sh
, он работает (в основном) в POSIX-совместимом режиме.
Вики-теги bash по переполнению стека имеют большой раздел часто задаваемых вопросов; многие вопросы и ответы там также относятся (много вариантов) sh
.
Штрих-оболочка (Debian Альмквистой оболочка) также используются в качестве небольшой и быстрого POSIX-совместимой оболочки для запуска сценариев оболочки; В системах Debian и Ubuntu есть/bin/sh
связан с dash
исполняемый файл.
инструменты
checkbashisms
(изdevscripts
package) - полезный инструмент для обеспечения того, чтобы сценарий оболочки был POSIX-совместимым и не использовал функции, не указанные в POSIX.ShellCheck - это веб-приложение, которое анализирует сценарии оболочки и проверяет распространенные ошибки (как синтаксические, так и семантические), а также соответствие стандарту POSIX, например, выделяет переменные без кавычек и Bashisms (если
sh
используется в шебанге). Его также можно установить как автономный инструмент командной строки; см. репозиторий в GitHub для получения дополнительной информации.