Командна оболонка в UNIX є інтерфейсом командного рядка у Unix-подібних операційних системах, тобто виконує команди, які подає користувач, або які читаються з файлів. Такі файли з командами оболонки називаються сценаріями (скриптами, програмами) оболонки. Ці сценарії не компілюються, а інтерпретуються оболонкою. Це означає, що оболонка зчитує сценарій від початку до кінця, рядок за рядком, шукаючи вказані там команди і виконуючи їх, на відміну від цього підходу, компілятор перетворює цілу програму вигляду, придатного для виконання машиною - потім файл з таким кодом можна використовувати сценарії оболонки. Характерна особливість мови оболонки - багато операції, які в традиційних мовах програмування є вбудованими, виконуються за допомогою дзвінка зовнішніх програм.
Одним із завдань оболонки є забезпечення користувача середовища, яке можна налаштувати за допомогою конфігураційних файлів.
Види оболонок
UNIX надає на вибір кілька різних оболонок:
- sh, або оболонка Борна ( Bourne Shell )
- одна з перших оболонок, яка була використана в UNIX-таких середовищах. Це базова оболонка, маленька і з невеликим набором можливостей. Вона є-де факто стандартної оболонкою, і присутній на кожній системі з UNIX. На Linux / bin / sh може бути символьними лінком на bash. Це зроблено для того, щоб забезпечити сумісність з додатками UNIX.
- bash, або нова оболонка Борна ( Bourne Again Shell )
- стандартна оболонка Лінукс. У більшості користувачів Linux стандартної оболонкою встановлений саме bash. В деякому сенсі bash - це надбудова над sh, набір додатків і додаткових модулів. Таким чином, нова оболонка Борна сумісна з звичайної оболонкою Борна: команди, що працюють в sh, працюватимуть і в bash, але не обов'язково навпаки.
- csh, або C-орієнтована оболонка ( C Shell )
- синтаксис цієї оболонки схожий з мовою програмування C. Звичайно, цієї оболонкою користуються програмісти.
- tcsh, або покращена C-орієнтована оболонка ( Turbo C Shell )
- надбудова над csh.
- ksh, або оболонка Корна ( Korn Shell )
- Була написана на початку 1980-х років і отримала найкращі на той час можливості оболонки Борна та csh. Є надбудовою над оболонкою Борна і гарантує виконання скриптів, написаних для оболонки Борна. Стандарту POSIX є оболонка Корна з обмеженими можливостями.
У файлі / etc / shells знаходиться інформація про оболонки, присутні в системі:
mia: ~> cat /etc/shells
/Bin/bash
/Bin/sh
/Bin/tcsh
/Bin/csh
Оболонка користувача встановлюється у файлі / etc / passwd. Наприклад, рядок користувача mia, який має встановлену оболонку bash :
mia: L2NOfqdlPrHwE: 504:504: Mia Maya:/home/mia:/bin/bash
Перемикання між оболонками
Користувач може в будь-який момент запустити іншу оболонку. Наприклад, якщо він за дефолтом працює під управліннями bash, а йому зручніше виконати якісь дії під оболонкою csh, він запускає цю оболонку
mia:~>csh
Для повернення під управління bash потрібно набрати команду exit.