Хронология шеллов
Лектор открыл новый класс мышей, есть такая китайская фирма а4. Они стоят рублей 100-200-300, у них никаких закидонов, они сами собой определяются, дешево и сердито.
У нас в позапрошлый раз про перенаправление ввода-вывода. Лектору пришло в голову, что больщую часть курса можно найти в мане по шеллу, но не все маны по шеллу одинаково банальны. Мы так бодро взялись за то, что умеет шелл, и в конце лектор начал рассказывать, что умеет зыш или баш. Здесь разумно вспомнить дерево разнообразных шеллов на предмет того, чтобы в них ориентироваться, и поговорить о явлении под названием башизм. Вспоминая первое сборище, лектор патлся набросать концепцию упр.компьютеров с ком. строки. Шелл это интегратор, есть много инструментов, которые работают с системой, есть два пространства имен, ФС и тест в них, а мы же, когда говорим про управление, должны вообразить клей или конструктор, всякии винтики-шпунтики-резиновые-колекчки, с помощью которых собираются решения. Главное свойство, которое мы требуем от шелла --- быть конструктором.
Мы возвращаемся к функциям оболочки. Такую оболочку быстро изобрели, собственно sh, автор Стивен Борн, это была довольна простая штука, и целью создания такого довольно простого, БСД-лайк шелла, была оболочка. Две другие задачи практически не рассматривались. Поскольку доволно скоро выяснилось, что эти три составляющие --- важная вещь, было изобретен альтернативный шелл, csh, у которого был синтаксис, другой, похожий на язык С, дабы не умножать сущности сверх необходимости. Но поскольку С был предназначен для других целей, трудно придумать области, где они были одинаково хороши, и он не был похож на язык С, люди путались, синтаксис у него был странненьким, но даже в области программирования цыш был лучше ш, в области редактирования тоже.
Довольно долго эта парочка существовала в таком виде, но и тогда стало ясно, что программировать лучше на шелле, а не на с-шелле. В недрах коммерческих юниксов разрабтывался ksh, который сейчас pdksh (public domain ksh), он продолжал sh, в него включены были многие функции, которые есть в sh, была лучше редактирование, скриптование, но он долгое время был несвободный, поэтому нужно было что-то предпринимать. В то же врем появился bash --- Bourne Again SHell, это была уже весьма продвинутая программа, написанная с помощью библиотеки readline. Там феерически был доработан интерфейс ком. строки, язык программирования, глубоко были доработаны средства интеграции. Параллельно с этим вышла ветка tcsh, которая перекрывала баш по всем статьям, кроме одного, синтаксис там был с-шелльный, и лет десять назад считалось, что работать надо в tcsh, программировать в шелле. Ну и zsh, самый продвинутый. Где-то в это время случилось знаменательное событие --- свойства sh были стандартизованы в POSIX. В каком-то классич представлении ни одна из этих программ не совместима с POSIX, наиболее похожи bash и zsh в режиме POSIX, но есть еще два проекта --- sh в FreeBSD, что же касаемо дистрибутивов Linux, dash/ash, это программы, которые считаются в достаточной степени совместимы с POSIX, чтобы на них программировать. Есть одно отличие такая нудность в трактовке посиха.
Обратите внимание, что все это идет в развитии. Все эти программные продукты пишутся, развиваются. Тот факт, что существует стандарт, не мешает пользоваться нестандартными фичами, кроме того, удобство командной строки в стандарте не прописано. Тем не менее, если писать, то писать наиболее близко к стандарту, чтобы понимали все. Что же касается Линукса, то вероятность наличия там баша близится к 100 процентам, и есть такое явления, под названием башизм, когда пишут на баше. Среди крутых это считается моветоном. Еще одним моветоном, даже большим, сччитается работа с терминалом, считая, что это линукс терминал, то есть, жестко забитый еск-последоватекльности в скрипте для линух-терминалов.
Мы будем придерживаться мана по ash, но будем делать лирические отступления в область других шеллов, где этого недостаточно. В чем особенность --- неполное описание, постоянные ссылки на ПОСИХ. При этом этот мануал становится читаемым, в нем 25 страниц, в отличие от 400 страниц по zsh.
Лектор преупреждает о том, что считается моветоном писать использование фич баша. Тем не менее, лектор удивился, сколько штук включено в посих. Хотя, лектор напоминает, что и у баша, и у зыша есть ключ, котрый запускает их в компатибилити мод.
Сведения о ресурсах
Готовность (%) |
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
Maintainer |
Start date |
End date |
0 |
1 |
1 |
1 |
|
1 |
|
|