Командна оболонка в UNIX є інтерфейсом командного рядка в Unix-подібних операційних системах, тобто виконує команди, які подає користувач, або які читаються з файлів. Такі файли з командами оболонки називаються сценаріями (скриптами, програмами) оболонки. Ці сценарії не компілюються, а інтерпретуються оболонкою. Це означає, що оболонка прочитує сценарій від початку до кінця, рядок за рядком, шукаючи зазначені там команди й виконуючи їх; на відміну від цього підходу, компілятор перетворює цілу програму до вигляду, придатного до виконання машиною — потім файл з таким кодом можна використати в сценарії оболонки. Характерна особливість мови оболонки — багато операцій, які в традиційних мовах програмування є вбудованими, виконуються з допомогою виклику зовнішніх програм.
![image](https://www.wikidata.uk-ua.nina.az/image/aHR0cHM6Ly93d3cud2lraWRhdGEudWstdWEubmluYS5hei9pbWFnZS9hSFIwY0hNNkx5OTFjR3h2WVdRdWQybHJhVzFsWkdsaExtOXlaeTkzYVd0cGNHVmthV0V2WTI5dGJXOXVjeTkwYUhWdFlpOWxMMlUzTDBKaGMyaGZjMk55WldWdWMyaHZkQzV3Ym1jdk16QXdjSGd0UW1GemFGOXpZM0psWlc1emFHOTBMbkJ1Wnc9PS5wbmc=.png)
Одним з завдань оболонки є забезпечення користувацького середовища, яке можна налаштувати за допомогою конфігураційних файлів.
Види оболонок
![image](https://www.wikidata.uk-ua.nina.az/image/aHR0cHM6Ly93d3cud2lraWRhdGEudWstdWEubmluYS5hei9pbWFnZS9hSFIwY0hNNkx5OTFjR3h2WVdRdWQybHJhVzFsWkdsaExtOXlaeTkzYVd0cGNHVmthV0V2WTI5dGJXOXVjeTkwYUhWdFlpOHpMek15TDFCUFUwbFlYMU5vWld4c1gwTnZiVzFoYm1SZlRHRnVaM1ZoWjJVdWNHUm1MM0JoWjJVeExUSXlNSEI0TFZCUFUwbFlYMU5vWld4c1gwTnZiVzFoYm1SZlRHRnVaM1ZoWjJVdWNHUm1MbXB3Wnc9PS5qcGc=.jpg)
UNIX надає на вибір декілька різних оболонок:
- sh, або оболонка Борна (Bourne Shell)
- одна з перших оболонок, яка була використана у UNIX-подібних середовищах. Це базова оболонка, маленька та з невеликим набором можливостей. Вона є де-факто стандартною оболонкою, та присутня на кожній системі із UNIX. На Лінукс /bin/sh може бути символьним лінком на bash. Це зроблено для того, щоб забезпечити сумісність з програмами UNIX.
- bash, або нова оболонка Борна (Bourne Again Shell)
- стандартна оболонка Лінукс. У більшості користувачів Лінукс стандартною оболонкою встановлено саме bash. У деякому сенсі bash — це надбудова над sh, набір доповнень та додаткових модулів. Таким чином, нова оболонка Борна сумісна зі звичайною оболонкою Борна: команди, що працюють у sh, будуть працювати і у bash, але не обов'язково навпаки.
- csh, або C-орієнтована оболонка (C Shell)
- синтаксис цієї оболонки схожий із мовою програмування C. Зазвичай, цією оболонкою користуються програмісти.
- tcsh, або покращена C-орієнтована оболонка (Turbo C Shell)
- надбудова над csh.
- ksh, або оболонка Корна (Korn Shell)
- Була написана у початку 1980-х років та отримала найкращі на той час можливості оболонки Борна та csh. Є надбудовою над оболонкою Борна та гарантує виконання скриптів написаних для оболонки Борна. Стандартом POSIX є оболонка Корна з обмеженими можливостями.
- zsh сучасна оболонка, зворотно сумісна із bash.
У файлі /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.
Див. також
Джерела
- Softpanorama: Nikolai Bezroukov. Introduction to the Unix shell history [ 3 Березня 2009 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет