Almquist schelp - Almquist shell
| Ontwikkelaar(s) | Kenneth Almquist |
|---|---|
| Eerste uitgave | 30 mei 1989 |
| Geschreven in | C |
| Besturingssysteem | Unix-achtig |
| Platform | Cross-platform |
| Type | Unix-shell |
| Website |
www |
Almquist shell (ook bekend als A Shell , ash and sh ) is een lichtgewicht Unix shell oorspronkelijk geschreven door Kenneth Almquist in de late jaren 1980. Aanvankelijk een kloon van de System V.4- variant van de Bourne-shell , verving het de originele Bourne-shell in de BSD- versies van Unix die begin jaren negentig werden uitgebracht.
Geschiedenis
ash werd voor het eerst uitgebracht via een bericht op de Usenet- nieuwsgroep comp .sources.unix , goedgekeurd en gemodereerd door Rich Salz op 30 mei 1989. Het werd beschreven als "een herimplementatie van de System V-shell [met] de meeste functies van die shell, plus enkele toevoegingen".
Snel, klein, en vrijwel compatibel met de POSIX specificatie van de Unix-shell norm, as voorzag niet in line bewerken of command geschiedenis mechanismen, omdat Almquist vond dat dergelijke functionaliteit moet worden verplaatst naar de terminal driver . De huidige varianten ondersteunen dit echter.
Het volgende is geëxtraheerd uit de ash-pakketinformatie van Slackware v14:
as (de asschelp van Kenneth Almquist)
Een lichtgewicht (92K) Bourne-compatibele schaal. Geweldig voor machines met weinig geheugen, maar biedt niet alle extra's van shells zoals bash , tcsh en zsh . Voert de meeste shellscripts uit die compatibel zijn met de Bourne-shell. Merk op dat onder Linux de meeste scripts op zijn minst enige bash-specifieke syntaxis lijken te gebruiken. De installatiescripts van Slackware vormen een opmerkelijke uitzondering, aangezien ash de shell is die op de installatieschijven wordt gebruikt. NetBSD gebruikt ash als zijn /bin/sh.
Er zijn talloze vorken gemaakt van de originele asvrijgave. Deze afgeleiden van ash zijn geïnstalleerd als de standaard shell ( /bin/sh) op FreeBSD , NetBSD , DragonFly BSD , MINIX en in sommige Linux - distributies . MINIX 3.2 gebruikte de originele Ash-versie, waarvan de testfunctie afweek van POSIX. Die versie van de shell is vervangen in MINIX 3.3. Android gebruikte ash tot Android 4.0 , waarna het overschakelde naar mksh .
Streepje
| Ontwikkelaar(s) | Herbert Xu |
|---|---|
| Eerste uitgave | 15 juli 1997 |
| Geschreven in | C |
| Besturingssysteem | Linux , Android |
| Type | Unix-shell |
| Website | gondor |
In 1997 werd Herbert Xu overgezet ashvan NetBSD naar Debian Linux . In september 2002, met release 0.4.1, werd deze poort hernoemd naar Dash ( Debian Almquist-shell ). Xu's belangrijkste prioriteiten zijn POSIX-conformiteit en slanke implementatie.
Net als zijn voorganger implementeert Dash ondersteuning voor noch internationalisering en lokalisatie, noch multi-byte tekencodering (beide vereist in POSIX). Ondersteuning voor regelbewerking en geschiedenis op basis van GNU Readline is optioneel ( --with-libedit).
Adoptie in Debian en Ubuntu
Vanwege zijn slankheid besloot Ubuntu/bin/sh in 2006 Dash als standaard te gebruiken. De reden voor het gebruik van Dash is een snellere uitvoering van shellscripts , vooral tijdens het opstarten van het besturingssysteem, in vergelijking met eerdere versies van Debian en Ubuntu die voor dit doel bash gebruikten. hoewel bash nog steeds de standaard login-shell is voor interactief gebruik. Dash werd de standaard /bin/shin Ubuntu vanaf de 6.10-release in oktober 2006. Dash verving bash en werd de standaard /bin/shin Debian 6 (Squeeze).
Een gevolg van de verschuiving is dat er veel shellscripts zijn gevonden die gebruik maken van bash- specifieke functionaliteiten ("bashismen") zonder dit correct in de shebang- regel te vermelden. Het probleem werd voor het eerst opgemerkt in Ubuntu en de Ubuntu-beheerders besloten om alle scripts te laten voldoen aan de POSIX- standaard. De wijzigingen werden later geüpstreamd naar Debian, dat al snel Dash ook als standaard aannam /bin/sh. Als gevolg hiervan zijn alle /bin/shscripts in Debian en Ubuntu gegarandeerd POSIX-compatibel, behalve de extensies die voor het gemak in Dash zijn samengevoegd ( local, echo -n, test -a / -o). Een soortgelijke overgang is gebeurd in Slackware Linux, hoewel hun versie van ashslechts gedeeltelijk op Dash is gebaseerd.
Ingebedde Linux
Ash (voornamelijk de Dash-vork) is ook redelijk populair in embedded Linux- systemen. Dash-versie 0.3.8-5 is opgenomen in BusyBox , het allesomvattende uitvoerbare bestand dat vaak in dit gebied wordt gebruikt, en wordt gebruikt in distributies zoals DSLinux, Alpine Linux , Tiny Core Linux en op Linux gebaseerde routerfirmware zoals OpenWrt , Tomato en DD -WRT .