Може би сте чували за Bash - обвивката по подразбиране на повечето Linux дистрибуции. Има друга обвивка, която идва предварително инсталирана на Linux: обвивката на Bourne.

Обвивката на Bourne е една от най-старите обвивки, които все още се използват в съвременните Linux системи, въпреки че не е толкова широко използвана като Bash. Ето какво трябва да знаете за Bourne shell на Linux.

Какво представлява Bourne Shell?

Черупката на Борн, често съкращавана до "sh", е кръстена на британския компютърен учен Стивън Р. Борн, който го разработва, докато работи в Bell Labs през 1978 г. Черупката замени по-ранната Thompson Shell, написана от един от оригиналните създатели на Unix, Кен Томпсън.

Обвивката на Bourne дебютира с версия 7 Unix през 1979 г. Той имаше функции като контрол на потока, променливи и подобрена обработка на низове. Тези функции улесниха използването на обвивката като език за програмиране, а не просто като начин за извикване на други програми.

Въпреки че обвивката на Bourne остава популярна за писане на преносими скриптове в Unix системи, тя беше заменен за интерактивна употреба от C shell, KornShell, Bourne Again shell, известен също като Bash, и Z черупка. Тези черупки предлагаха функции като

instagram viewer
история на командите и редактиране на командния ред което улесни живота на потребителите и администраторите.

KornShell, Bash и Z shell (покрити по-късно) имат синтаксис, повлиян от Bourne shell.

По-мощните междуплатформени скриптови езици с още по-разширени функции като Perl и Python също до голяма степен замениха скриптовете на обвивката.

Въпреки това обвивката на Bourne е широко разбрана и много скриптове, доставени с Linux програми, използват нейния синтаксис за различни задачи.

Поведението на обвивката на Борн беше кодифицирано в стандарта POSIX, толкова много съвременни Unix-подобни системи го реализират по някакъв начин чрез използване на съвместима обвивка.

Модерни алтернативи на Bourne Shell

Има няколко съвременни алтернативи с отворен код на оригиналната обвивка на Bourne на Linux системи. Ето някои от най-известните:

1. Bourne Again Shell (Bash)

Името Bourne Again shell (Bash) е игра на черупката на Борн. Тази обвивка първоначално е разработена като компонент на системата GNU, предшестваща Linux за няколко години.

До голяма степен е съвместим със скриптове, първоначално написани за обвивката на Bourne. Той също така включва функции като редактиране от команден ред, въведено от KornShell.

Bash е обвивката по подразбиране в много дистрибуции на Linux и по този начин се е превърнал в стандарт de facto сам по себе си.

2. KornShell

KornShell, известен също като ksh, първоначално е разработен от Дейвид Корн, също в Bell Labs, през 80-те години. Създаден върху обвивката на Bourne, KornShell въведе някои допълнителни функции като контрол на задачите, масиви и редактиране от командния ред. Последното беше революционна функция, когато се появи за първи път, защото беше много по-лесно от използването на механизма за история на C shell.

Ако трябва да редактирате повторно издадена преди това команда, можете да използвате команди, подобни на Vi или Emacs, за да го направите.

KornShell беше по подразбиране на някои търговски Linux системи като Oracle Solaris. Тъй като първоначалният KornShell беше пуснат първоначално от AT&T под патентован лиценз, в крайна сметка беше пусната версия с отворен код, наречена pdksh.

3. Almquist/Debian Almquist Shell

Обвивката Almquist първоначално е написана от Kenneth Almquist и е предназначена като лек заместител на обвивката на Bourne. Много BSD системи го включват като изпълнение на sh.

Една версия беше пренесена в Debian през 90-те години и е известна като Debian Almquist shell. Както подсказва името, това е внедряването на sh в системите Debian и Ubuntu.

4. Z Shell

Z черупка, или zsh, е една от най-новите обвивки, първоначално разработена през 1990 г. от Пол Фалстед. Z shell стана добре известен със своите разширени функции. Добър пример е рекурсивното глобиране или възможността за съпоставяне на заместващи символи в поддиректории.

Z shell е обвивката за влизане по подразбиране за macOS и Kali Linux.

Съвместимост на Bourne Shell

Въпреки че тези обвивки са до голяма степен съвместими със скриптове, първоначално написани за обвивката на Bourne, има начини да промените поведението им, за да приличат повече на оригиналната обвивка.

Основният начин за това е чрез символна връзка. Повечето системи ще имат символна връзка /bin/sh към Bash или друга обвивка. Когато бъде извикана по този начин, обвивката ще влезе в режим на съвместимост с обвивката на Bourne.

Можете да видите коя черупка /bin/sh е свързано с командата ls:

ls -l /bin/sh

Сега знаете за Bourne Shell

Обвивката на Bourne е един от най-старите стандарти за скриптове на Unix-подобни системи. Дори ако е бил заменен от други черупки, той все още е жизнено важен за изпълнение на скриптове, написани от други.

Bash е един от най-добрите производни на Bourne за кодиране, особено заради подхода си към променливите. Той има някои уникални променливи, които може да ви накарат да го обмислите за следващия си проект.