ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Bourne shell - Wikipedie, otevřená encyklopedie

Bourne shell

Z Wikipedie, otevřené encyklopedie

Bourne shell, nebo sh, byl standardní Unixový shell od Unix verze 7 a nahradil Thompson shell, jehož spustitelný soubor měl stejné jméno sh. Tento shell byl vyvinutý Stephem Bournem z AT&T Bell Laboratories a byl uvolněný ve verzi Unixu 7 v roce 1977. Toto vydání se distribuovalo vysokým školám a univerzitám. Tento shell zůstává populární jako standard pro Unixové účty. Program Bourne shell nebo kompatibilní program je umístěný na nejvíce Unixových systémech v /bin/sh a je také standardním shellem pro root (superuser) ve většině Unixových implementacích.

Obsah

[editovat] Počátky

sh byl navržen jako náhrada za Thompson shell.

[editovat] Primární cíle

  • povolit shell skriptům, aby byly použity jako filtry
  • poskytovat programovatelnost včetně kontroly toku a proměnných
  • ovládání všech vstupů/výstupů jako popisovače souborů
  • kontrola signálů zjištěných uvnitř skriptů
  • žádné limity na délky řetězců při interpretování shell skriptů
  • zjednodušení a zevšeobecnění mechanismu citací řetězců

Tyto mechanismy byly přidány do Verze 7. Tyto souvislosti byly ustanoveny na začátku a poskytují cestu shell skriptům k tomu, aby byly podskriptům v kontextu bez toho, aniž by musely užívat explicitní situační parametry.

[editovat] Významné rysy

Ačkoliv je užívaný jako interaktivní příkazový interpret, byl vždy zamýšlen jako skriptovací jazyk. S vydáním knihy Unix od Briana W. Kernighana a Roba Pikeho programovací prostředí shell získalo popularitu . Toto byla první komerčně publikovaná kniha, která představovala shell jako programovací jazyk ve formě výuky.

Bourne shell byl též první, který představoval konvenci použití file desctriptor 2 pro error messages, dovolující mnohem větší programovou kontrolu běhu skriptu a držení zprávy o chybě oddělený od dat.

[editovat] Inovace

  • command substitution používání zpětných uvozovek: `command`.
  • používání << k vsazení bloku vstupního textu uvnitř skriptu.
  • "for ~ do ~ done smyčka zvláště použití $* smyčky přes argument.
  • case ~ in ~ esac mechanismus výběru zejména k tomu, aby pomáhal syntaktické analýze.
  • sh poskytl podporu pro prostředí proměnných používajících parametrů klíčového slova a exportované do proměnné.

V průběhu let byl Bourne shell rozšířený v AT&T. Různé varianty jsou nazvané jako příslušná AT&T Unixová verze, která byla uvolněna (důležitými variantami jsou Verze7, SystemIII, SVR2, SVR3, SVR4). Protože shell nebyl nikdy verzí a jediný způsob jeho identifikování je otestovat jeho rysy.

[editovat] Následníci

Jako většina z následníků bylo řízení úloh zahrnuto do pozdějších verzí Bourne shellu.

[editovat] Korn shell

Podrobnější informace naleznete v článku Korn shell.

Korn shell (ksh), mnohem později napsaný Davidem Kornem, byl střední cestou mezi dvěma shelly se syntaxemi přebraných z Bourne shellu a řízení úloh vytažených z C shellu. Funkčnost z originálního Korn shellu byla užívána jako základ pro POSIX shell standard. Od roku 2000 byl dán jako otevřený zdroj v novějších verzích a je použitý v některých Linuxových distribucích; tam je také klon známý jako pdksh.

[editovat] RC

RC byl vytvořený v Bell Labs od Toma Duffa jako výměna za sh pro Unix Verze 10. To je standard shell pro Plan 9 z Bell Labs a Inferno. Portový Unix byl součástí Plan 9 z User Space.

[editovat] Bash

Bash, také známý jako Bourne-Again shell, byl později vyvinut pro GNU projekt, přebral rysy z Bourne shellu, csh a ksh.

Vlivem autorského práva vypadá prostředí Bourne shell stejně, jako to bylo použito v BSD vydáních. Kenneth Almquist vyvinul klon Bourne shell, známý jako Almquist shell a dostupný pod BSD licencí, který se dnes užívá na některých BSD následnících. Almquist shell byl portovaný Linux přejmenovaný na Debian Almquist shell nebo dash. Tento shell poskytuje mnohem větší výkon standardních sh skriptů při menší paměťové zátěži než jeho běžnější protějšek bash. Bohužel jeho použití často odhalí bashismy — bash-centrické konstrukce, které v Bourne shellu nejsou dostupné a tvoří problémy, pokud autor skriptu nespecifikoval požadavek na spuštění v bashi.

[editovat] Užívání

  • Bourne shell je nyní standardní ve všech značkových Unixových systémech, ačkoliv historicky BSD systémy měly mnoho skriptů napsaných v csh.
  • Bourne shell skripty mohou typicky běžet na bash nebo dash v Linuxu nebo dalších Unix-like systémech. Poté, co Sun uvolnil jejich
  • OpenSolaris variantu z tohoto Bourne shell jako otevřený zdroj, byl shell dostupný pro volný Unix v Heirloom projektu.
  • Solaris/SVR4 verze Bourne shellu nemá stejný zdrojový kód jako originál.

[editovat] Literatura

Tento článek je zčásti nebo zcela založen na překladu článku na anglické Wikipedii.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -