Kolejna ³ata.

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Pon, 22 Lut 1999, 21:00:51 CET


On Mon, 22 Feb 1999, Marcin Dalecki wrote:

> Jacek Konieczny wrote:
> > 
> > On Sun, Feb 21, 1999 at 09:41:03PM +0100, Marcin Dalecki wrote:
> > > Klejna drobna korrekta. Otóż dalece nie każda wersja programu echo
> > > interpretuje poprawnie sekwencję escape \e. Cóż to za problem jednak
> > > wstawić zamiast tego po prostu \033?
> > Widzę tu ostatnio na liście wysiłki, aby nasze rc-scripts były
> > kompatybilne z innymi systemami/shellami itp.
> > Po co? Skoro one są tylko dla PLD. Tu należy jak najbardziej wykożystać
> > to co mamy.
> > Również pomysł wykożystania ksh zamiast bash mi się nie podoba.
> 
> Możesz sobie domyslnie podlikowac /bin/ksh na /bin/bash.

Takie przejście nie jest głupie szczególnie jeżeli zauważyć dwa argumenty
za takim przejściem:
- ksh jest dużo mniejszy i szybszy,
- ksh jest czystym sh.

Pierwszym etapem chyba jednak powinno być przestawieni całej machiny
startowej na nieużywanie bash extensions. W etapie pośrednim uzyskamy coś
co będzie mogło pracować pod dowolnym shellem sh compat.

Samo ostateczne przestawienie na ksh musiałoby być właśnie chyba
poprzedone próbami takiego przejścia (prywatnymi) gdyż w niektórych
miejscach zakłada się permanentną obecnośc basha. Dwa przykłady takich
miejsc jakie mi się w tej chwili nasyuwają na czoło to:

- w indeksie info zakłada się, że link do info z bashem jest zawsze i że
  nie ma sensu {de}rejestrować jego stron,

- jak powyżej ale z {de}rejestracją w /etc/shells.

Nie wiem czy się zgodzisz Marcina ale próba przejścia na używanie ksh
powinna wyglądać IMHO nieco inaczej. Ja bym to zrobił w ten sposób, że po
pierwsze usunął te dwie powyższe odstępstwa od regół, zastanaowił się w
mniędzyczasie czy nie jeszcze jakiś takich wybryków i od razu zmienił
zawartość dwuch pakietów .. ksh i bash. Chodzi o to żeby usunąć linka
sh -> /bin/bash z bash i dodać w ksh sh -> /bin/ksh. W ten sposób nie
mielibyśmy konieczności przerabiania wszystkich skryptów przestawiając im
"#!/bin/sh" na "#!/bin/ksh", a od razu mamy prosty test na to czy wszystko
jest zgodne z standardowym sh.

Dodanie ksh jako base shella nie jest głupie ze względu na możliwość
zmieniejszenia base systemu. Faktem jest, że wtedy skrypty sh pozostaną
sh, a te które używają namiętnie bash ext będzie można przerobić bąć na
standard bąć zmienić im pierwszą linijkę na "#!/bin/bash" i wtedy jawnie
będzie widać, że jest to ewidentnie bash skrypt, a nie "sh like".

[..]
> To co ja proponuję to jest raczej: bash jako szell interakcyjny.
> pdksh jako /bin/sh i /bin/ksh. Naprawę róznica w prędkości
> działania np. scryptów configure jest wręcz *widoczna*...

Dokładnie .. szkoda że nie przeczytałem tego najpierw :>

> W scryptach inicjalizacyjnych chętnie bym u góry widział to co się
> faktycznie stosuje, czyli /bin/ksh, co doskonale może być linkiem na
> bash...

Zerknij jeszcze na to co napisałem powyżej .. moze skorygujesz nieco
zdanie :)
Generalnie jestem za przejściem na ksh bo widzę zalety takiego
rozwiązania .. różną tylko widze drogę do takiego przejścia i wydaje mi
się, że jest ona mniej "prowizoryczna" :)

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



Więcej informacji o liście dyskusyjnej pld-devel-pl