Bash shell je přes 30 let a stále je silný. Co to dělá, odkud to pochází, a proč je stále nejběžnější shell na Linuxu?
Co je to Shell?
Když otevřete okno terminálu a zadejte příkazy, něco se musí vzít to, co jste napsali, zjistit, co jste chtěli, a spustit úkoly, které žádal. Software, který dělá toto je shell. Shell je příkaz interpret. Je to skenuje, co jste zadali a výběry z příkazů, názvy adresářů, názvy souborů a názvy programů, aby bylo možné zjistit, co se snažíte dosáhnout.
Lidé často používají fráze „terminál okna“, „příkazového řádku“ a „shell“ zaměnitelně, ale oni jsou tři odlišné věci. Okno terminálu je softwarová reprezentace fyzického dálnopis terminál . To vám dává připojení k počítači. Aby bylo možné udělat něco užitečného, musíte být schopni psát návod na příkazovém řádku. Příkazový řádek je poskytována pláště a okno terminálu umožňuje přístup k shell.
Skořápky také umožňují zabalit sbírku příkazů do textového souboru s názvem skriptu. Všechny příkazy ve skriptu jsou prováděny pro vás při každém spuštění skriptu. Skripty poskytují efektivitu, opakovatelnost a pohodlí.
První
Unix
shell byl
Thompson shell
, volala
sh
. To bylo napsáno
Ken Thompson
, Který je možná nejvíce klíčovým členem původních unixových otců zakládajících se na
Bell Labs
. Thompson shell byl použit jako výchozí Unix shell až do Unix verze 6. To byl nahrazen
Bourne shell
ve verzi 7 Unix v roce 1979.
PŘÍBUZNÝ: Co je to Unix, a proč na tom záleží?
Bourne Shell
Bourne shell, které
Stephen Bourne
, Byl aktualizován náhrada za Thompson pláště. To bylo dokonce začal používat stejný příkaz jako Thompson shell,
sh
K zachování zpětné kompatibility se stávajícími skriptů. Zpětná kompatibilita byla důležitá, ale nové funkce byly zahrnuty, že za předpokladu, mnoho funkcí, které jsme dodnes používáme.
Bourne shell byl interaktivní shell a skriptovací jazyk. Podpořila popředí a pozadí úkol provádění a základní řízení úloh. Přidá se trubky a přesměrování, spolu se zlepšením manipulaci smyčky.
Skořepina nyní obsaženy některé vestavěné příkazy, což znamená, že nemusel projít všechno ven do vnějších inženýrských sítí, aby byl účinnější. Bourne shell dokonce podporován „Tady dokumenty“ elegantní způsob, jak automatizovat odesílání dat na příkazy.
Bourne shell laťku a stal se novým standardem.
PŘÍBUZNÝ: Jak používat „Zde Dokumenty“ v Bash na Linuxu
Narození Bash
V roce 1984, kdy se projekt GNU oznámila svůj záměr učinit volný Unix klon psaný od základů as nový, tolerantní licencí -The tým potřebuje shell. Když dobrovolník, který byl pracoval na plášti pro projekt GNU opakovaně nepodařilo doručit vůbec nic, Brian Fox byl pověřen psaní klon Bourne shellu.
To byl nazván Bourne opět Shell Nebo Bash. To bylo částečně v poctě Stephen Bourne a částečně Wordplay kvůli ní. Po jeho uvolnění v roce 1989, Chet Ramey přispěly některé opravy chyb Bash. On nakonec se stal co-udržovatel bashi. V současné době je stále správcem projektu Bash.
Linus Torvalds.
, Tvůrce linuxového jádra, řekl, že první dva programy, které běžel na jeho nové jádro v roce 1991 byly Bash a
gcc
,
GNU compiler
. Párování GNU utilit s Linuxové jádro bylo oboustranně výhodné. Operační systém GNU potřebuje jádro a Linuxové jádro potřebnější vše ostatní, co tvoří klon Unixu.
Vzhledem k tomu, Bash je standardní GNU shell, to se stalo standardem shell na všech distribucích GNU / Linux. Linux vzkvétal do té míry, že v současné době podporuje Výše udivující moderního světa . Bashi surfed že vlně úspěchu, také.
Bash začleňuje a vylepšuje o sadu funkcí Bourne shellu, ale také vzal inspiraci z jiných mušlí, jako je například
C shell
(
csh
) A
Korn Shell
(
ksh
). Například rozšíření vlnovky „
~
“Na hodnotu konala v
$ HOME
proměnná prostředí pochází z C shellu, a
fc
Příkaz, který se spustí výchozí editor na příkazy v
historie příkazu
pochází z Korn Shell.
Bash představil config soubory, například dále jen „.bashrc“ a „.bash_profile“ soubory . Příkazového řádku úpravy na Bash daleko předčil schopnosti předchozích granátů. Manipulace dříve provedených příkazů v historii příkazové byla vylepšená verze funkce „historie bang“ C granáty. expanze Brace byl rys, který byl chybějící z Bourne shell, který byl realizován v Bash jako nadřazený funkčnosti nalézt v C pláště. Pole byly zlepšeny odstraněním jejich omezení velikosti. Expanze parametr v příkazovém řádku umožňuje uživatelům přizpůsobit jejich Bash výzva.
Cílem Bash aby byl v souladu s POSIX P1003.2 / ISO 9945,2 Shell a utility Standard.
PŘÍBUZNÝ: Věděli Linux zabít Komerční Unix?
Proč Bash je duležité
Bash nemohlo trvat tak dlouho, více než 30 let, jako výchozí Linux shell, pokud to nebylo až po práci. Vzhledem k dlouhé životnosti a masivní uživatelské základny, Bash je zralý a velmi stabilní. Existuje mnoho alternativních skořápky, od veteránů, jako je C shell a Korn Shell na novější skořápky, jako je
Z skořepina (
zsh
)
a.
Friendly Interactive Shell
(
Ryba
). Oba Z shell a ryby shell má některé funkce, které Bash dělá ne tak dobře jako pravděpodobně lepší způsoby, jak dosáhnout některé stejné věci, které to dělá Bash. Tak proč je Bash stále dominantním shell?
Ze všech strojů Linux, které jsem kdy byl vyzván spravovat, nevzpomínám si, že ani jednoho, který neměl Bash jako shell. Unixové stroje, to ano, ale Linux krabice, no. Je Bash pokaždé. Že znalost vám pomůže dostat se do práce rychle a musí být účinná ihned. Už víte, Bash, takže není zaučení. Vy to nechápete ochromena drobnými rozdíly v syntaxi, že jste se točí v kruzích se snaží zjistit, proč něco nefunguje. Čas strávený zjišťuje, co zaklínání by měl být na tento shell je mrtvý čas, takže je to v zájmu svého podnikání klienta použít dobře známé a široce používané shell.
Použití skořápku, která je, nebo se snaží velmi těžké být, Posix záležitostí pro mnoho distribucí Linuxu, ale co je důležitější je kompatibilita s předchozími verzemi. Provedení změn, které by mohly poškodit některé existující skripty je samozřejmě neatraktivní. Atraktivní nebo ne, někdy stačí zatnout zuby. Dne 3. září 1967, Švédsko vyměněn z jízdy vlevo pro pravostranný provoz. V 4:50 hod, veškerý provoz musel zastavit, pomalu, aby svou cestu na druhou stranu silnice, a ještě jednou zastavit. V 5:00 hod, provoz mohl pokračovat, přičemž každý teď pravostranný provoz.
Bude Bash někdy být vyměněn?
Co se může zdát nepředstavitelné, může se skutečně stát později. Pokud nechceme držet na víru, že všichni používáme bash až do soudního dne, pravda pravděpodobně je to jeden den, bash bude nahrazen jako výchozí linux shell - ať už je to stále skořápka na linuxu nebo ne. Nebo možná bude to bash, ale zdůrazněno daleko za shell, který dnes používáme. Ale cokoliv, co se dostane místo dnešní bash bude muset být zcela (nebo velmi téměř) dozadu slučitelné nebo stojí za otřes, ať už mohou být přínosy.
To není bez precedensu. Od té doby verze 10.15. z Operační Systém Mac , Apple upustil bash a přijal z Shell jako výchozí shell. Apple má problémy s GNU General Public License (GPL) V.3. Bohužel, to je licence, kterou bash používá. Poslední verze Bash vydané pod GPL V.2 byla verze 2007 verze 3.2. Aktuální verze je 5.1. Apple byl téměř deset let a půl za sebou. Jediný způsob, jak by jablko mohlo zahrnovat up-to-date shell, aniž by se přestěhoval do GPL V.3, bylo přesunout do jiné skořepiny úplně. Na Apple, to stálo za vrchol. (Nicméně, stále můžete Přepněte zpět na bash na make Pokud to dáváte přednost!)
Existuje svět rozdílů mezi pracovní stanicí Power User a serverem Linuxu Linuxu, který musíte dálkově spravovat přes ssh připojení . Z téměř 1,5 milionu Amazon EC2 hostovaných serverů, Více než 93% běží Linux . Téměř 75% webových serverů běží Linux . Organizace jako Red Hat, Amazon a Google používají Linux in-house.
Je těžké si představit, jaké výhody by mohlo nová shell nabídnout, že by ospravedlnil tento druh globálního otřesu. To je důvod, proč je bash cementován na místě.
Dokonce i společnost Microsoft nabízí cestu Spusťte linux-based Bash Shell na Windows 10 Mezihlédnout!