Ще в старі часи, коли AT&T винайшов UNIX, там був Борн Шелл, написаний Стівом Борном. Це було досить просто, і не вистачало багато інструментів, які ми сьогодні приймаємо як належне.
AT&T насправді не займався бізнесом UNIX, тому в цей час Беркелелі дещо прийняла саму базову ОС, і вони внесли деякі зміни в BSD UNIX. Серед багатьох змін була нова оболонка під назвою csh, яка мала багато вдосконалень у порівнянні з sh, включаючи краще управління роботою, інтерактивне використання тощо. На жаль, вони вирішили, що синтаксис програмування sh відсмоктується, і створили власний (дещо погано) скопійований із стилів кодування C. (Класичний рент - це http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ ) Тепер було два синтаксиси.
Пізніше вони вдосконалили CSH, додавши доповнення вкладки та деякі інші речі. Це стало tcsh, і якщо ви використовуєте CSH, це, мабуть, той, який ви використовуєте.
Компанія AT&T вирішила, що це не зовсім поза бізнесом UNIX, і вони також відполірували його. Девід Корн (приємний хлопець) створив оболонку Корна. На основі ідеї розширення синтаксису оболонки Bourne, він додав багато речей як для програмістів, так і для інтерактивного використання. Насправді існує декілька версій, і ви рідко можете бачити такі речі, як ksh88 та ksh93, що позначають варіанти.
Потім прийшли FSF і GNU OS. Вони хотіли створити власну ОС сумісну з UNIX на ім'я Hurd, і хотіли кращої оболонки для неї. Вони назвали bash, для Bourne Again SHell. Правила POSIX прийшли як раз в цей час, і вони хотіли б зробити в POSIX оболонку. Вони озирнулися, взявши синтаксис із оболонки Борна та вдосконалення з оболонки Корна, плюс крадіжку та розширення інтерактивних функцій із tcsh. Він став фактично оболонкою в Linux, тому це дуже часто.
Існує також zsh, написане як "кінцева" оболонка. Він також дуже поширений у світі Linux. Це розширило башти (і перехресно запилилося трохи, нові речі повернулися назад до удару).
Якби я обирав оболонку, я б вибрав bash або zsh. Баш, можливо, в ще декількох місцях, ніж zsh. zsh потужніший, але баш для мене був чудовим. Real / bin / sh Bourne оболонка існує лише з історичних причин. bash має майже все, що може запропонувати ksh та багато іншого. Синтаксис чистіший за csh чи tcsh та має кращі функції, ніж будь-який із них.
Перетворення сценарію залежить від того, до чого. Стиль оболонки Борна (sh, ksh, bash, zsh) до або від стилю csh (csh, tcsh) буде важким. Перехід від старого до нового (/ bin / sh => bash, / bin / ksh => zsh) буде простіше, ніж іншим способом.