Кома́ндная оболо́чка Unix (англ. Unix shell, часто просто «шелл» или «sh») — командный интерпретатор, используемый в операционных системах семейства Unix, в котором пользователь может либо давать команды операционной системе по отдельности, либо запускать скрипты, состоящие из списка команд. В первую очередь, под shell понимаются POSIX-совместимые оболочки, восходящие к Bourne shell (шелл Борна), появившемуся в Unix Version 7.
sh является удобным и часто используемым интерпретируемым языком программирования. Он содержит стандартные конструкции для циклов, ветвления, объявления функций и т. п. Данный язык часто используется в UNIX-подобных системах при создании различных сценариев (скриптов) работы, в частности, сценариев автоматического конфигурирования исходных кодов программ перед их компиляцией. Отличительная особенность языка sh — многие операции, которые в традиционных языках программирования являются встроенными, выполняются с помощью вызова внешних программ. Так, например:
expr
используется для вычисления арифметических выражений;test
используется для сравнения чисел и строк, а также для определения наличия или атрибутов файлов;sed, tr, awk, head, tail, cut
и другие — для работы с текстом.![]() | |
---|---|
|
![]() Интерфейс пользователя в Unix-подобных системах | |||||||||
---|---|---|---|---|---|---|---|---|---|
Среды рабочего стола |
| ||||||||
Графические оболочки |
| ||||||||
Менеджеры окон |
| ||||||||
На протоколе Wayland |
| ||||||||
Командные оболочки |
| ||||||||
X Window System |
|
![]() Языки программирования | |
---|---|
| |
|
![]() | В другом языковом разделе есть более полная статья Unix shell (англ.). |