Linux i ksh w wersji z OpenBSD

Według mnie ksh (a właściwie pdksh) jest bardzo wygodny, szczególnie w wersji podrasowanej na potrzeby projektu OpenBSD. Niestety, do pewnego czasu nie istniał port na Linuksa – na szczęście to już przeszłość. Aktualna wersja oksh jest całkowicie kompatybilna z ksh zawartym w OpenBSD 4.7 i bez najmniejszych problemów kompiluje się pod Linuksem. Osoby zainteresowane kompilacją odeślę po źródła natomiast tym, którzy nie chcą bądź nie potrafią zainstalować oprogramowania tą drogą zaproponuję moje paczki:

  • dla Ubuntu (także Server Edition) 10.04 LTS (i386) – [deb]
  • dla Debiana Lenny 5.0.6 (i386) – [deb]
  • dla openSUSE 11.3 (amd64) – [rpm]

Nie gwarantuję, że ostatnia z powyższych u każdego będzie działać idealnie lecz wciąż zachęcam do próby instalacji.

Aktualizacja z dnia 24/10/2010: skompilowałem dodatkowe paczki dla Debiana Lenny 5.0.6 dla architektur amd64 oraz mipsel (dla maszyn Cobalt).
Pliki dostępne kolejno tutaj oraz tutaj.

Modyfikacja znaku zachęty w OpenBSD

Po instalacji OpenBSD powita Cię mało motywujący do pracy znak zachęty, a mianowicie $ dla standardowego użytkownika lub # dla roota (zakładając, że pracujemy w domyślnym ksh). Naturalnie modyfikacja jest możliwa, wystarczy użyć jednej komendy.

Jako przykład użyję aktualnego znaku zachęty w swoim serwerze domowym:

ksx4system@eon2kpuffy:[~]$

aby uzyskać taką kombinacje należy wpisać w terminalu komendę

$ export PS1=”\u@\h:[\w]\\$ “

spowoduje to wyświetlanie przed znakiem zachęty kolejno loginu aktualnie zalogowanego użytkownika, hostname i katalog, w którym się znajdujemy (“~” to nasz katalog domowy, np. /home/ksx4system).

Jeśli chcesz uzyskać inne kombinacje możesz wykorzystać następujące zmienne:

\e – wstawia znak ASCII escape.
\h – hostname ale bez domeny.
\H – pełny hostname, włącznie z domeną.
\n – wstawia znak nowej linii.
\t – aktualny czas 24-godzinny, w formacie GG:MM:SS.
\u – nazwa aktualnie zalogowanego użytkownika.
\w – aktualnie otwarty katalog (domowy opisywany jest jako “~”).
\W – nazwa bazowa dla aktualnie otwartego katalogu.
\$ – wyświetla znak zachęty ($ dla użytkownika, # dla roota).

oczywiście można wykorzystać niektóre znaki specjalne np. kwadratowe nawiasy.

Aby utrwalić modyfikację należy dopisać komendę do pliku .profile w katalogu domowym użytkownika i /etc/profile.