Myślę, że "oryginalna poprawiona powłoka" to ksh93. bash powstało w czasie, gdy kod źródłowy ksh był prawnie zastrzeżony; jeśli ksh był wtedy open-source, to nie musiałoby być konieczne posiadanie nowej powłoki (choć z FSF nigdy nie wiadomo). ksh jest wart nauki, szczególnie ze względu na możliwość rozszerzenia go o moduły C, ale nie jest to wyraźna zwyżka. Autouzupełnianie basha jest wyraźnie lepsze, co może być wystarczające, by ogólnie wygrać bash. W każdym razie bash i ksh poczyniły znaczne wysiłki, aby się zjednać, więc różnice są niewielkie.
Inną interesującą powłoką jest zsh, która stara się być wszystkim, czym jest ksh, jednocześnie włączając csh. Ponieważ nigdy nie widziałem żadnego punktu ani nie używam csh, nie jestem odpowiednią osobą, by bronić zsh. Zwrócę uwagę na jedną nietypową niezgodność: domyślnie w zsh zmienna zawsze rozwija się do pojedynczego tokena, nawet jeśli zawiera spacje. Takie zachowanie jest niekompatybilne ze wszystkimi innymi pociskami pochodzącymi z sh, a czasami jest niewygodne, ale naprawdę ma o wiele więcej sensu niż oryginał i oszczędza wielu cytatów.
csh był pierwszą powłoką, która miała kontrolę pracy, ale moim zdaniem (i jej następcy) została zastąpiona przez bash i ksh. Pisanie scenariuszy nigdy nie było zabawne.
Wreszcie, istnieje wiele małych muszelek zaprojektowanych dla dyskietek ratunkowych (!) I innych środowisk Spartan, ale brzmi to tak, jakbyś nie był nimi zainteresowany.
(W kwestii innowacji, powinienem dodać, że ponad połowa skryptów, które pisałem jako skrypty powłoki, to teraz skrypty Lua. Inne mogą powiedzieć to samo dla Pythona lub Ruby, lub z powrotem w dzień, Perl lub Tcl: Więc myślę, że prawdziwą innowacją jest migracja z powłoki, aby możliwa była programowalna interakcja w wierszu poleceń.)
Które funkcje brakuje w bash vs są dostępne w innych powłokach, które uważasz za innowacyjne? Co ważniejsze, czy widzisz funkcje, które uważasz, że pomogłyby ci zrobić to, na co zostały napisane? Na przykład. z mojego punktu widzenia bash jest interfejsem wiersza poleceń, umożliwiającym dostęp do zasobów systemu operacyjnego, z którego punktu widzenia brakuje funkcjonalności? – stefanB
Być może jest to sposób na pozostawanie w filozofii Unixa przy użyciu małych narzędzi, które wykonują określone rzeczy bardzo dobrze (w przeciwieństwie do dużych narzędzi, które robią wszystko źle). –
to puszka robaków .. otwórz ją ostrożnie .. – sybreon