Coajă Almquist - Almquist shell

Coajă Almquist
Dezvoltatori Kenneth Almquist
Eliberarea inițială 30 mai 1989 ; Acum 32 de ani ( 30.05.1989 )
Scris in C
Sistem de operare Unix-like
Platformă Cross-platform
Tip Unix shell
Site-ul web www .in-ulm .de / ~ mascheck / diverse / ash / Editați acest lucru pe Wikidata

Coaja Almquist (cunoscută și sub numele de A Shell , ash and sh ) este o coajă ușoară Unix scrisă inițial de Kenneth Almquist la sfârșitul anilor 1980. Inițial o clonă a variantei System V.4 a shell-ului Bourne , a înlocuit shell-ul Bourne original în versiunile BSD ale Unix lansate la începutul anilor 1990.

Istorie

ash a fost lansat pentru prima dată printr-o postare la comp .sources.unix Usenet news group, aprobată și moderată de Rich Salz la 30 mai 1989. A fost descrisă ca „o reimplementare a sistemului V shell [cu] cele mai multe caracteristici ale acelui shell, plus câteva adăugiri ".

Rapid, mic și practic compatibil cu specificațiile standardului POSIX ale shell-ului Unix, cenușa nu a furnizat mecanisme de editare a liniei sau istoric de comenzi , deoarece Almquist a considerat că o astfel de funcționalitate ar trebui mutată în driverul terminalului . Cu toate acestea, variantele actuale îl susțin.

Următorul este extras din informațiile despre pachetul de cenușă din Slackware v14:

cenușă (cochilia de cenușă a lui Kenneth Almquist)

O carcasă ușoară (92K) compatibilă Bourne. Excelent pentru mașinile cu memorie redusă, dar nu oferă toate extra de shell-uri precum bash , tcsh și zsh . Rulează majoritatea scripturilor shell compatibile cu shell Bourne. Rețineți că sub Linux, majoritatea scripturilor par să folosească cel puțin o sintaxă specifică bash-ului. Scripturile de configurare Slackware sunt o excepție notabilă, deoarece ash este shell-ul folosit pe discurile de instalare. NetBSD folosește cenușă ca / ​​bin / sh.

Multe furci au fost produse din eliberarea originală de cenușă. Acești derivați de cenușă sunt instalați ca shell implicit ( /bin/sh) pe FreeBSD , NetBSD , DragonFly BSD , MINIX și în unele distribuții Linux . MINIX 3.2 a folosit versiunea originală de cenușă, a cărei caracteristică de testare diferea de POSIX. Această versiune a shell-ului a fost înlocuită în MINIX 3.3. Android a folosit cenușă până la Android 4.0 , moment în care a trecut la mksh .

Dash

Debian Almquist shell (DASH)
Dezvoltatori Herbert Xu
Eliberarea inițială 15 iulie 1997 ; Acum 24 de ani ( 15.07.1997 )
Scris in C
Sistem de operare Linux , Android
Tip Unix shell
Site-ul web gondor .apana .org .au / ~ herbert / dash /

În 1997 Herbert Xu a portat de ashla NetBSD la Debian Linux . În septembrie 2002, cu versiunea 0.4.1, acest port a fost redenumit în Dash ( Debian Almquist shell ). Principalele priorități ale Xu sunt conformitatea POSIX și implementarea subțire.

La fel ca predecesorul său, Dash nu implementează suport pentru internaționalizare și localizare și nici pentru codarea caracterelor multi-octet (ambele sunt necesare în POSIX). Editarea liniei și suportul istoric bazat pe GNU Readline sunt opționale ( --with-libedit).

Adopție în Debian și Ubuntu

Datorită slăbiciunii sale, Ubuntu a decis să adopte Dash ca implicit /bin/shîn 2006. Motivul utilizării Dash este executarea mai rapidă a scriptului shell , în special în timpul pornirii sistemului de operare, comparativ cu versiunile anterioare de Debian și Ubuntu care foloseau bash în acest scop, deși bash este încă shell-ul implicit de conectare pentru utilizare interactivă. Dash a devenit implicit /bin/shîn Ubuntu începând cu versiunea 6.10 în octombrie 2006. Dash a înlocuit bash și a devenit implicit /bin/shîn Debian 6 (Squeeze).

Un rezultat al schimbării este că multe scripturi shell au fost găsite folosind funcționalități specifice bash („bashisme”) fără a le declara în mod corespunzător în linia shebang . Problema a fost identificată pentru prima dată în Ubuntu și întreținătorii Ubuntu au decis să facă toate scripturile să respecte standardul POSIX . Modificările au fost ulterior transmise la Debian, care a adoptat în curând și Dash ca implicit /bin/sh. Ca rezultat, toate /bin/shscript - urile în Debian și Ubuntu sunt garantate pentru a fi compatibile POSIX, cu excepția extensiile fuzionat în Dash pentru comoditate ( local, echo -n, test -a / -o). O tranziție similară s-a întâmplat în Slackware Linux, deși versiunea lor ashse bazează doar parțial pe Dash.

Linux încorporat

Ash (în principal furca Dash) este, de asemenea, destul de populară în sistemele Linux încorporate . Versiunea Dash 0.3.8-5 a fost încorporată în BusyBox , executabilul catch-all folosit adesea în această zonă și este utilizat în distribuții precum DSLinux, Alpine Linux , Tiny Core Linux și firmware-ul routerului bazat pe Linux, cum ar fi OpenWrt , Tomato și DD -WRT .

Vezi si

Referințe

linkuri externe