KornShell - KornShell
Interakce s OpenBSD výchozí shell, pdksh | |
Původní autoři | David Korn |
---|---|
První vydání | 1983[1][2] |
Stabilní uvolnění | u + / 1. srpna 2012[3] |
Úložiště | github |
Napsáno | C |
Operační systém | Unix |
K dispozici v | Angličtina |
Typ | Unix shell |
Licence |
|
webová stránka | www |
KornShell (ksh
) je Unix shell který vyvinul David Korn na Bell Labs na začátku 80. let a oznámeno na USENIX dne 14. července 1983.[1][2] Počáteční vývoj byl založen na Bourneova skořápka zdrojový kód.[7] Dalšími časnými přispěvateli byli vývojáři Bell Labs Mike Veach a Pat Sullivan, kteří napsali Emacs a vi - kód režimů úpravy řádků ve stylu.[8] KornShell je zpětně kompatibilní s shellem Bourne a obsahuje mnoho funkcí C shell, inspirovaný požadavky uživatelů Bell Labs.
Design
KornShell vyhovuje POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.) Mezi hlavní rozdíly mezi KornShell a tradičním Bourne shellem patří:
- Řízení úloh, aliasing příkazů, a historie příkazů navrženo po odpovídajícím C shell funkce. V roce 1989 byla do Bourne Shell přidána kontrola úloh.[9]
- K dispozici je výběr ze tří stylů úprav příkazového řádku vi, Emacs, a Gosling Emacs.
- Asociativní pole a vestavěný aritmetika s plovoucí desetinnou čárkou operace (k dispozici pouze v ksh93 verze KornShell).
- Dynamická rozšiřitelnost vestavěných příkazů (od ksh93).
Dějiny
KornShell byl původně proprietární software. V roce 2000 byl zdrojový kód vydán na základě licence zejména pro AT&T, ale od vydání 93q počátkem roku 2005 byl licencován pod Veřejná licence Eclipse.[4] KornShell je k dispozici jako součást kolekce Open Source Software AT&T Software Technology (AST). Protože KornShell byl zpočátku dostupný pouze prostřednictvím proprietární licence od AT&T, byla vytvořena řada alternativ zdarma a open source. Tyto zahrnují pdksh, mksh, bash, a zsh.
Funkčnost původního KornShellu, ksh88, byl použit jako základ pro standard POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)
Někteří prodejci stále dodávají své vlastní verze starších ksh88 varianta, někdy s prodloužením. ksh93 je udržována na GitHub.[10]
Jako „Desktop KornShell“ (dtksh), ksh93 je distribuován jako součást Společné desktopové prostředí.[11] Tato verze také poskytuje mapování na úrovni prostředí pro Motiv widgety. Byl určen jako konkurent společnosti Tcl /Tk.[12]
Původní KornShell, ksh88, se stal výchozím shellem na AIX ve verzi 4,[13][14] s ksh93 je k dispozici samostatně.[15]
UnixWare 7 zahrnuje obojí ksh88 a ksh93. Výchozí prostředí Korn je ksh93, který je dodáván jako / usr / bin / ksha starší verze je k dispozici jako / usr / bin / ksh88.[16] UnixWare také zahrnuje dtksh když CDE je nainstalován.
Distribuce ksh93 prošla méně stabilním osudem poté, co autoři kolem roku 2012 opustili AT&T ve stabilní verzi ksh93u +. Autoři pokračovali v práci na větvi ksh93v-beta až do roku 2014, kdy několik vývojářů komunity v podstatě „převzalo kontrolu“ a pokračovalo v produkci silně refaktorovaného „ksh2020“.[17] V březnu 2020 se společnost AT&T rozhodla vrátit změny komunity, uložit je do větve a restartovat z ksh93u +, protože změny byly příliš široké a příliš zaměřené na ksh, aby je společnost mohla absorbovat do projektu v režimu údržby.[18][19] Debian nabízí ksh2020[20] ve své testovací verzi.[21]
Varianty
S KornShell souvisí několik softwarových produktů:
- dtksh - vidlice ksh93 zahrnuto jako součást CDE.
- tksh - vidlice ksh93 který poskytuje přístup k Tk sada nástrojů widget.
- okš - přístav v OpenBSD Chuť KornShellu, která má být maximálně přenosná[22] napříč operačními systémy. Byl použit jako výchozí shell v DeLi Linux 7.2.
- mksh - a volný, uvolnit implementace jazyka KornShell, rozvětvená z pdksh. Původně byl vyvinut pro MirOS BSD a má licenci pod tolerantní (i když to není veřejné dílo) pojmy; konkrétně Licence MirOS.[6] Kromě svého použití na BSD nahradila tato varianta pdksh na Debianu,[23] a je výchozím shellem pro Android.
- SKsh - an AmigaOS příchuť, která poskytuje několik funkcí specifických pro Amigu, například ARexx interoperabilita.
- MKS Inc. Shell MKS Korn - proprietární implementace jazyka KornShell z Služby Microsoft Windows pro UNIX (SFU) až do verze 2.0; podle Davida Korna nebyla skořápka MKS Korn plně kompatibilní s KornShell v roce 1998.[24][25] Ve verzi SFU 3.0 Microsoft nahradil shell MKS Korn novým shellem vyhovujícím POSIX.2 jako součást Interix.[26]
- KornShell je součástí UWIN, balíček kompatibility Unixu od Davida Korna.[27]
Viz také
Reference
- ^ A b Ron Gomes (9. června 1983). „Plán konference USENIX v Torontu (předběžně)“. Diskusní skupina: net.usenix. Citováno 29. prosince 2010.
- ^ A b Guy Harris (10. října 1983). "otázka csh". Diskusní skupina: čistý. plamen. Citováno 29. prosince 2010.
- ^ „ksh93u + datum = 10. února 2020“. Citováno 10. února 2020.
- ^ A b „Archivovaná kopie“. Archivovány od originál dne 2018-11-14. Citováno 2018-12-10.CS1 maint: archivovaná kopie jako titul (odkaz)
- ^ „Archivovaná kopie“. Archivovány od originál dne 06.02.2012. Citováno 2010-06-10.CS1 maint: archivovaná kopie jako titul (odkaz)
- ^ A b "MirBSD Korn Shell". Mirbsd.org. Citováno 10. prosince 2018.
- ^ Korn, David G. (26. října 1994), „ksh - rozšiřitelný jazyk na vysoké úrovni“, Proceedings of the USENIX 1994 Very High Level Languages SymposiumSdružení USENIX, vyvoláno 5. února 2015,
Místo toho, abychom vymysleli nový skriptovací jazyk, jsme vytvořili systém pro zadávání formulářů úpravou prostředí Bourne a přidáním vestavěných příkazů podle potřeby.
- ^ Bolsky, Morris I .; Korn, David G. (1989). "Poděkování". Příkazový a programovací jazyk KornShell. Englewood Cliffs, NJ: Prentice Hall. str. xii. ISBN 0-13-516972-0.
- ^ "tradiční rodina / historie a vývoj Bournovy skořápky". In-ulm.de. Citováno 10. prosince 2018.
- ^ „Toto je webová stránka pro stahování softwaru AT&T Software Technology od společnosti AT&T Research. AT&T AST OpenSource Software Collection poskytuje přehled a praktický opakovaně použitelný UNIX software.“ Github.com. 10. prosince 2018. Citováno 10. prosince 2018.
- ^ Bill Rosenblatt; Arnold Robbins (2002). Naučit se Korn Shell (2. vyd.). O'Reilly Media, Inc. str. Viii – ix. ISBN 978-0-596-00195-7.
- ^ J. Stephen Pendergrast (1995). Grafické programování na ploše KornShell. Addison-Wesley. p. 359. ISBN 978-0-201-63375-7.
- ^ Casey Cannon; Scott Trent; Carolyn Jones (1999). Jednoduše AIX 4.3. Prentice Hall PTR. p. 21. ISBN 978-0-13-021344-0.
- ^ „IBM Knowledge Center“. Ibm.com. Citováno 10. prosince 2018.
- ^ „IBM Knowledge Center“. Ibm.com. Citováno 10. prosince 2018.
- ^ "Shoda s UNIX95". Uw714doc.sco.com. Citováno 10. prosince 2018.
- ^ "ksh2020 changelog". GitHub. 29. května 2020.
- ^ „Převíjení tohoto repo a povzbuzující komunita · Vydání # 1466 · att / ast“. GitHub.
- ^ "segfault s rozšířenými globy · # 1464 · att / ast". GitHub.
- ^ „ksh2020 na GitHubu“. GitHub. 2. března 2020.
- ^ "Debian Package Tracker - ksh". tracker.debian.org.
- ^ „oksh ve společnosti GitHub“. GitHub. 1. srpna 2020.
- ^ „Archivovaná kopie“. Archivovány od originál dne 2014-07-28. Citováno 2014-07-28.CS1 maint: archivovaná kopie jako titul (odkaz)
- ^ „David Korn říká všem“. Slashdot. Citováno 2009-10-22.
- ^ „Jerry Feldman - účastník konference USENIX NT / LISA NT“. Lists.blu.org. Citováno 2009-10-22.
- ^ „Windows Services pro UNIX verze 3.0“. Technet.microsoft.com. Citováno 2009-10-22.
- ^ Anatole Olczak (2001). Korn shell: Programovací příručka pro Unix a Linux. Addison-Wesley Professional. p. 4. ISBN 978-0-201-67523-8.
Další čtení
- Morris I. Bolsky; David G. Korn (1995). Nový příkazový a programovací jazyk KornShell. Prentice Hall PTR. ISBN 978-0-13-182700-4.
- David G. Korn, Charles J. Northrup a Jeffery Korn Nový KornShell - ksh93, Linux Journal, Číslo 27, červenec 1996
externí odkazy
- ksh93 manuálová stránka na Wayback Machine (archivováno 5. června 2013)
- ksh88 manuálová stránka na Wayback Machine (archivováno 5. listopadu 2015)
- Public Domain Korn shell (pdksh) na Wayback Machine (archivováno 21. října 2016)
- MirBSD Korn Shell (mksh)
- MirOS BSD Obecné příkazy i386 Manuál –