W dawnych czasach, kiedy AT&T wynalazł system UNIX, powstał Bourne Shell, napisany przez Steve'a Bourne'a. To było dość podstawowe i brakowało nam wielu narzędzi, które obecnie uważamy za oczywiste.
AT&T tak naprawdę nie był w branży UNIX, więc w tym czasie Berkelely przyjął nieco podstawowy system operacyjny i wprowadził pewne zmiany w BSD UNIX. Wśród wielu zmian znalazła się nowa powłoka o nazwie csh, która miała wiele ulepszeń w stosunku do sh, w tym lepszą kontrolę zadań, lepsze wykorzystanie interaktywne i tak dalej. Niestety zdecydowali, że składnia programowania sh została zasysana i stworzyli własne (nieco źle) skopiowane ze stylów kodowania C. (Klasyczny rant to http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ ) Więc teraz były dwie składnie.
Później wprowadzili ulepszenia do CSH, dodając uzupełnianie tabulatorów i kilka innych rzeczy. Stało się to tcsh, a jeśli używasz CSH, prawdopodobnie używasz tego.
AT&T zdecydowało, że nie jest to całkowicie sprawa biznesu UNIX, i również go dopracowali. David Korn (miły facet) stworzył powłokę Korna. Oparty na pomyśle rozszerzenia składni powłoki Bourne'a, dodał wiele rzeczy zarówno dla programistów, jak i do użytku interaktywnego. W rzeczywistości istnieje kilka wersji i rzadko można zobaczyć takie rzeczy, jak ksh88 i ksh93, oznaczające warianty.
Potem przyszedł FSF i system operacyjny GNU. Chcieli stworzyć własny system operacyjny kompatybilny z UNIX o nazwie Hurd i chcieli dla niego lepszej powłoki. Nazwali bash, bo Bourne Again SHell. Zasady POSIX wszedł właśnie w tym czasie, i chcieli zrobić z powłoki POSIX. Rozejrzeli się wokół, biorąc składnię z powłoki Bourne'a i ulepszenia z powłoki Korna, a także kradnąc i rozszerzając interaktywne funkcje z tcsh. Stał się de facto powłoką w Linuksie, więc jest bardzo powszechny.
Jest też zsh, napisany jako „ostateczna” powłoka. Jest to również bardzo powszechne w świecie Linuksa. Przedłużyło bash (i trochę zapylało, niektóre nowe rzeczy wróciły do bash).
Gdybym miał wybrać powłokę, wybrałbym bash lub zsh. bash jest prawdopodobnie w kilku innych miejscach niż zsh. Zsh jest silniejszy, ale bash był dla mnie w porządku. Prawdziwa powłoka Bourne'a / bin / sh jest dostępna tylko z powodów historycznych. bash ma prawie wszystko, co ksh ma do zaoferowania i wiele więcej. Składnia jest czystsza niż csh lub tcsh i ma lepsze funkcje niż jedna z nich.
Konwersja skryptu zależy od tego na co. Styl powłoki Bourne'a (sh, ksh, bash, zsh) do lub ze stylu csh (csh, tcsh) będzie trudny. Przejście ze starego do nowszego (/ bin / sh => bash, / bin / ksh => zsh) będzie łatwiejsze niż w drugą stronę.