Bash оболонки становить понад 30 років і все ще йде сильний. Що вона робить, звідки він родом, і чому він до сих пір найбільш поширеною оболонки на системах Linux?
Що таке Shell?
При відкритті вікна терміналу і команди типу, щось має взяти те, що ви набрали, з'ясувати, що ви хотіли, і запускати завдання, які ви просили. Програмне забезпечення, яке робить це оболонка. Оболонка є інтерпретатором команд. Вона сканує то, що ви набрали, і вибирає з команд, імен каталогів, імен файлів та імен програм, так що він може зрозуміти, що ви намагаєтеся досягти.
Люди часто використовують фрази «термінальні вікна», «командного рядка» і «оболонки» взаємозамінні, але вони три різних речі. Термінал вікно являє собою програмне уявлення фізичного телетайп термінал . Це дає вам підключення до комп'ютера. Для того, щоб зробити що-небудь корисне, ви повинні мати можливість вводити інструкції в командному рядку. Командного рядка забезпечується оболонкою, і вікно терміналу дозволяє отримати доступ до оболонки.
Корпуси також дозволяють розбазарювати вгору набір команд в текстовий файл з ім'ям сценарію. Всі команди в сценарії виконуються для вас кожен раз при запуску сценарію. Сценарії забезпечують ефективність, відтворюваність і зручність.
Перший
Unix
оболонка була
Томпсон оболонки
, називається
шви
. Вона була написана
Кен Томпсон
, Який є, можливо, найголовнішим членом первинних батьків-засновників Unix в
Bell Labs
. Thompson оболонка за замовчуванням використовується Unix оболонки до і включаючи Unix версії 6. Він був замінений
Bourne оболонки
у версії 7 Unix в 1979 році.
Пов'язані: Що таке Unix, і чому це важливо?
Bourne Shell
Борна оболонка, написана
Стівен Борн
, Був модернізований для заміни Томпсона оболонки. Він навіть почав використовувати ту ж команду, як Томпсон оболонку,
шви
, Для забезпечення зворотної сумісності з існуючими сценаріями. Зворотна сумісність була важлива, але нові функції були включені, що за умови, багато функцій, які ми користуємося дотепер.
Bourne оболонка була інтерактивна оболонка і мова сценаріїв. Вона підтримує виконання переднього плану і фону завдань і елементарне управління завданнями. Труби були додані і перенаправлення, поряд з поліпшенням обробки петель.
Оболонка тепер містяться деякі вбудовані команди, а це означає, що не потрібно було пройти всі з зовнішніх утиліт, що робить його більш ефективним. Борна оболонки навіть підтримували «Тут документи» елегантний спосіб для автоматизації відправки даних в команди.
Bourne оболонки підняв планку і став новим стандартом.
Пов'язані: Як використовувати «Ось документи» в Bash на Linux
народження Bash
У 1984 році, коли проект GNU оголосила про свій намір зробити безкоштовний Unix клон написаний з нуля і з нове, що дозволяє ліцензування -The команді потрібен снаряд. Коли доброволець, який працював над снарядом для проекту GNU повторно не вдалося поставити що-небудь взагалі, Brian Fox була поставлена задача написання клон Bourne оболонки.
Він отримав назву Bourne Again Shell Або Bash. Це було частково в честь Стівена Борна і частково ерудит заради нього. Після його випуску в 1989 році, Чет Ремі вніс деякі виправлення в Bash. Врешті-решт він став одним з супроводжує оболонки Bash. В даний час він як і раніше є хранителем проекту Bash.
Лінус Торвальдс
, Творець Linux ядра, сказав, що перші дві програми, які він провів на своєму новому ядрі в 1991 році були Bash і
ПКУ
,
компілятор проекту GNU
. Парування комунальних послуг GNU з ядром Linux була взаємовигідною. Операційна система GNU потрібна ядра, а ядро Linux потребувала все інше, що складає Clone Unix.
Оскільки баш - стандартна оболонка GNU, вона стала стандартною оболонкою на всіх дистрибутивах GNU / Linux. Linux процвітає до того, що він зараз підтримує Дивовижна кількість сучасного світу . БАШ-оболонка перебувала в тому, що хвиля успіху теж.
Bash включає в себе та покращує набір набору бурової оболонки, але це також взяло натхнення з інших оболонок, таких як
C Shell
("
свердловина
) і
Корншелл
("
кх
). Наприклад, розширення тильди "
~
"До вартості, що знаходиться в
$ Home
змінна середовища походить від оболонки C, а
fc
Команда, яка викликає редактор за замовчуванням на командах
Історія команди
походить від Корншелла.
Bash представив конфігураційні файли, такі як Файли ".bashrc" та ".bash_profile" . Редагування командного рядка на Баш далеко перевершила можливості попередніх оболонок. Маніпуляція раніше виконаних команд у командній історії була покращена версія C ракет "Jange історії". Розширення підставки була функція, яка відсутня у оболонці Борна, яка була реалізована в Баш, як суперсет функціональності, знайденої в оболонці C. Масиви були покращені, видаляючи їх розмір. Розширення параметрів у командному рядку дозволяє користувачам налаштовувати свою башту.
Баш оболонки спрямована, щоб бути сумісним з POSIX P1003.2 / ISO 9945.2 Shell та утиліти Стандарт.
Пов'язані: Чи вбиває Linux комерційний Unix?
Чому Баш ще важливий
Баш не міг тривати довгий понад 30 років - як за замовчуванням Linux Shell, якщо це не до роботи. Через тривалий термін служби та масивної користувацької бази, Баш зрілий і дуже стабільний. Існує безліч альтернативних оболонок, від ветеранів, таких як оболонка C та Kornshell до нових оболонок, як
Z оболонка (
zsh
)
і
Дружня інтерактивна оболонка
("
риба
). Обидва оболонки Z, так і рибна оболонка мають деякі функції, які башки не так, як імовірно, кращі способи досягнення деяких тих самих речей, які роблять Баш. Так чому ж домінуюча оболонка?
З усіх машин Linux я коли-небудь покликав керувати, я не згадую жодного, який не мав башу, як оболонку. Машини UNIX, так, але Linux Boxes, No. Це кожен раз. Це знайомство дозволяє швидко працювати і бути ефективним відразу. Ви вже знаєте bash, тому немає кривої навчання. Ви не отримуєте Hamstrung за допомогою крихітних відмінностей у синтаксисі, що ви йдете навколо в колах, намагаючись з'ясувати, чому щось не працює. Час, витрачений, зрозумів, що має бути на заклик це Shell - це мертвий час, тому це в інтересах клієнтського бізнесу використовувати добре відомі та широко використовувану оболонку.
Використовуючи оболонку, яка є або намагається бути дуже важкою, щоб бути сумісним, що відповідає багатьом розподілячам Linux, але що має значення, це сумісність з попередніми випусками. Внесення змін, які можуть розірвати існуючі скрипти, явно непривабливі. Приваблива чи ні, іноді, ви просто повинні кусати кулю. 3 вересня 1967 року Швеція замінилась з водіння зліва на водіння справа. О 4:50 ранку, весь трафік повинен був зупинитися, повільно проводять свій шлях до іншої сторони дороги, і зупиняйтеся ще раз. О 5:00., Трафік міг продовжити, з кожним зараз керує праворуч.
Чи буде замінено Баш?
Те, що може здатися неминучим, тепер може статися пізніше. Якщо ми не хочемо чіплятися за віру, що ми будемо використовувати Bash до кінця світу, правда, ймовірність того, що один день, Bash буде замінено як за замовчуванням Linux Shell-\ t Або, можливо, це буде bash, але підвищена далеко за межами оболонки, яку ми використовуємо сьогодні. Але все, що займає місце сьогоднішньої Баш, або доведеться повністю (або майже) назад, сумісний або варто потрясінь, незалежно від вигод.
Це не без прецеденту. З тих пір Версія 10.15 з макос , Apple скинула баш і прийняла оболонку z як оболонку за замовчуванням. Apple має проблеми з загальною публічною ліцензією GNU (GPL) V.3. На жаль, це ліцензія, яка використовує баш. Остання версія Bash випущена під GPL V.2 була версія 3.2. Поточна версія становить 5.1. Apple була майже десять років з половиною. Єдиний спосіб, яким компанія Apple може включати в себе сучасну оболонку, не рухаючись до GPL V.3, полягала в тому, щоб перейти до іншої оболонки взагалі. До Apple, це варто потрясіння. (Однак, ви все ще можете Перейдіть до Bash на MacOS Якщо ви віддаєте перевагу!)
Існує світ різниці між робочою роботою та сервером Linux Linux, який вам доведеться дистанційно керувати над з'єднанням SSH . З майже 1,5 мільйона Amazon EC2 хостив, Понад 93% працюють Linux . Майже 75% веб-серверів запущені Linux . Організації, такі як Red Hat, Amazon, і Google використовують Linux в будинку.
Важко уявити собі, які переваги нова оболонка може запропонувати, що це виправдовує такий вид глобального потрясіння. Ось чому bash закріплений на місці.
Навіть Microsoft тепер пропонує шлях Запустіть оболонку Bash Linux на Windows 10 !