Csh
| Autor | Bill Joy |
|---|---|
| Pierwsze wydanie | 1978 |
| Aktualna wersja stabilna | 6.20.00 |
| Język programowania | C |
| System operacyjny | POSIX |
| Rodzaj | Powłoka systemowa |
| Licencja | BSD |
csh (od ang. C shell) — jedna z historycznych powłok uniksowych. Napisana przez Billa Joya w czasie prac nad Uniksem BSD i upubliczniona w 1978[1]. Składnia języka używanego w csh przypomina język C. Stąd nazwa C shell będąca grą słów. Dosłownie oznacza powłokę [o składni] C, fonetycznie przypomina jednak wymowę sea shell, czyli muszla.
Wniosła wiele ulepszeń w stosunku do oryginalnej powłoki Bourne’a ukierunkowanych na interaktywną pracę z systemem, m.in. aliasy i historię poleceń. Z kolei dzięki wewnętrznej ewaluacji wyrażań była szybsza od poprzedniczki w zastosowaniach wsadowych, nie musząc polegać na wywołaniach zewnętrznych trików jak [ – udający element składni, a będący faktycznie dowiązaniem do programu test, czy expr zapewniający wsparcie dla operacji arytmetycznych.
Obecnie oryginalna powłoka csh jest rzadko wykorzystywana do pracy interaktywnej. Została wyparta przez rozszerzoną wersję w postaci tcsh oraz nowsze powłoki kompatybilne ze składnią oryginalnego sh jak Korn shell (ksh), bash i zsh.
Jednocześnie choć wprowadziła wiele innowacyjnych rozwiązań do trybu interaktywnego, dosyć powszechnie jest odradzana jako język skryptowy[2][3]. Głównym argumentem za pisaniem skryptów powłoki w języku Bourne shell jest jej dostępność w każdym systemie zgodnym ze specyfikacją Single UNIX Specification, co zapewnia przenośność kodu.
Mimo szeregu innowacji, które z czasem były reimplementowane w innych powłokach, csh doczekało się jedynie 2 klonów (tcsh jest rozwinięciem oryginalnej implementacji i tym samym nie jest uważane za klon): komercyjnej implementacji Allena Holuba dla systemu MS DOS z 1986 roku[4] oraz wersji dla OS/2 z 1988 roku napisanej przez Hamilton Laboratories, przeniesionej w 1992 także na system Windows NT[5].
Lista innowacji
- aliasy
- adresowalna historia poleceń (np.
!!,!$) - kontrola procesów pozwalająca na ich zastopowanie i przeniesienie w tło
- notacja
~jako skrót do katalogu domowego użytkownika. Na klawiaturze terminala ADM-3A używanego przez Joya tylda znajdowała się na przycisku HOME. - uzupełnianie nazw obiektów systemu pliku
- zmienna CDPATH jako rozszerzenie idei zmiennej PATH dla nawigacji w systemie plików[6]
Zobacz też
Uwagi
Przypisy
- ↑ Harley Hahn: Harley Hahn's Guide to Unix and Linux. [dostęp 2021-10-25]. (ang.).
- ↑ Tom Christiansen: Csh Programming Considered Harmful. 1995-09-28. [dostęp 2021-10-25]. (ang.).
- ↑ Bruce Barnett: Top Ten Reasons not to use the C shell. 2001-09-22. [dostęp 2021-10-25]. (ang.).
- ↑ Allen Holub: On Command: Writing a Unix-Like Shell for MS-DOS. Wyd. Second. M&T Books, Redwood City, CA, 1986–1987. ISBN 0-934375-29-1. (ang.).
- ↑ Hamilton C shell(tm) Release Notes. [dostęp 2021-10-25]. (ang.).
- ↑ William Joy: An Introduction to the C shell. [dostęp 2021-10-25].
Linki zewnętrzne
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.