Čo robia Shells?
Keď sa prihlásite na príkazovom riadku alebo spustite okno terminálu v systéme Linux, systém spustí program shell. Kryty ponúkajú štandardný spôsob rozšírenia prostredia príkazového riadku. Môžete vymeniť predvolený shell za iný, ak chcete.
Prvým prostredím prostredia bola shell Thompson Shell vyvinutá v laboratóriách Bell Labs a uvoľnená v roku 1971. Medzinárodné prostredie Shell sa na tomto koncepte stavia odvtedy a pridáva nové funkcie, funkčnosť a rýchlosť.
Napríklad Bash ponúka dokončenie príkazu a názvu súboru, pokročilé funkcie skriptovania, históriu príkazov, konfigurovateľné farby, aliasy príkazov a množstvo ďalších funkcií, ktoré neboli k dispozícii už v roku 1971, kedy bol prvý shell prepustený.
Obal sa používa aj na pozadí rôznymi systémovými službami. Distribúcie Linuxu obsahujú mnoho funkcií napísaných ako shell skripty. Tieto skripty sú príkazy a ďalšie pokročilé funkcie skriptovania pre shell prechádzajú prostredím shell.
Shells Leading až do Bash: sh, csh, tsh a ksh
Najvýznamnejším progenitorom moderných škrupín je škrupina Bourne - známa aj ako "sh" - ktorá bola pomenovaná podľa svojho tvorcu Stephena Bourne, ktorý pracoval v laboratóriách AT & T Bell. Vydanie v roku 1979 sa stalo predvoleným príkazom a tlmočníkom v systéme Unix kvôli podpore substitúcie príkazov, potrubí, premenných, podmienenému testovaniu a slučke spolu s ďalšími funkciami. Neponúkalo veľké prispôsobenie pre používateľov a nepodporovalo také moderné jemnosti ako aliasy, dokončenie príkazov a funkciu shell (aj keď táto posledná bola nakoniec pridaná).
C shell, alebo "csh", bol vyvinutý koncom 70-tych rokov Bill Joy na University of California, Berkley. Pridal viacero interaktívnych prvkov, pomocou ktorých môžu používatelia kontrolovať svoje systémy, ako napríklad aliasy (skratky pre dlhé príkazy), schopnosti riadenia pracovných miest, históriu príkazov a ďalšie. Bol vytvorený z programovacieho jazyka C, do ktorého bol napísaný samotný operačný systém Unix. To tiež znamenalo, že užívatelia shellov Bourne sa museli naučiť C, aby mohli v nich zadávať príkazy. Navyše, csh mal naozaj niekoľko chýb, ktoré museli byť vystavené užívateľom aj tvorcami počas dlhého časového obdobia. Ľudia skončili pomocou skriptov Bourne pre skripty, lebo lepšie spracovali neinteraktívne príkazy, ale pri bežnom používaní sa prilepili na shell C.
Narodenie bash
Bash bol vylepšený v desaťročiach od jeho prvého vydania v roku 1989, ale stále je to predvolený shell na väčšine linuxových distribúcií. Je to tiež predvolený shell na MacOS spoločnosti Apple a je k dispozícii na inštaláciu na Windows 10 spoločnosti Microsoft.
Novšie škrupiny: popol, pomlčka, zsh a ryby
Zatiaľ čo Linuxová komunita sa v uplynulých rokoch usadila na Bash, vývojári neprestali vytvárať nové shell, keď bol Bash prvýkrát prepustený pred 28 rokmi.
Kenneth Almquist vytvoril klon Bourne shell známy ako Almquish shell, A Shell, "popol", alebo niekedy len "sh". bol tiež POSIX kompatibilný a stal sa predvoleným shellom v BSD, inej pobočke Unixu. Popol škrupiny je oveľa ľahší než bash, čo je populárne v systémoch s integrovanými systémami Linux. Ak máte nainštalovaný telefón s Androidom so systémom BusyBox nainštalovaným - alebo akékoľvek iné zariadenie so sériou softvéru BusyBox - používa sa kód z popola.
Ktoré ste si vybrali? (a prečo je Zsh populárny)
Nemusíte si vybrať shell. Váš operačný systém vyberá pre vás svoj predvolený shell a táto voľba je takmer vždy bash. Posaďte sa pred distribúciu Linuxu - alebo dokonca Mac - a budete mať takmer vždy prostredie bash shell. Bash má pomerne málo pokročilých funkcií, ale pravdepodobne ich nebudete používať, ak nevypracujete shell skripty.
Na vstavaných systémoch Linux alebo systémoch BSD skončíte s popolom škrupiny. Ale popol je shell Bourne a je do značnej miery kompatibilný s bash. Akékoľvek vedomosti, ktoré máte od používania bash, sa prenášajú na použitie popola alebo pomlčky, hoci niektoré pokročilé skriptovacie funkcie nie sú v tomto ľahkom plášti dostupné.
Takmer každý shell, s ktorým sa stretnete, je založený na Bourne a pracuje podobne - vrátane zsh.
Zsh je preto populárny. Tento novší shell je kompatibilný s bash, ale obsahuje ďalšie funkcie. Zsh shell ponúka vstavanú korekciu pravopisu, zdokonalené dokončenie príkazového riadku, načítateľné moduly, ktoré fungujú ako plug-iny pre váš shell, globálne aliasy, ktoré vám umožňujú aliasové názvy súborov alebo čokoľvek iného na príkazovom riadku namiesto len príkazov a viac tematickej podpory. Je to ako bash, ale s množstvom doplnkov, doplnkov a konfigurovateľných možností, ktoré by ste mohli oceniť, keby ste strávili veľa času na príkazovom riadku.
Ak poznáte bash, môžete prejsť na zsh bez toho, aby ste sa naučili inú syntax - získate ďalšie funkcie. ak ste oboznámení s zsh, môžete prepnúť do bash bez toho, aby ste sa naučili inú syntax - jednoducho nebudete mať prístup k týmto funkciám.
Existujú aj iné mušle. Napríklad tcsh shell je stále okolo a je stále možnosťou. FreeBSD používa tsch ako svoj predvolený koreňový shell a popol ako svoj štandardný interaktívny shell. Ak používate programovanie C pravidelne, tsch môže byť pre vás vhodnejší. Avšak, to nie je tak blízko, ako bežne používané ako bash alebo zsh.
Ako prepínať medzi shellmi
Je ľahké prepnúť na nový shell a vyskúšať to. Stačí nainštalovať shell zo správcu balíkov distribúcie systému Linux a napíšte príkaz spustiť shell.
Povedzme napríklad, že chcete vyskúšať zsh na Ubuntu. Na inštaláciu a spustenie by ste spustili nasledujúce príkazy:
sudo apt install zsh zsh
Potom by ste sedeli v zsh shelle. Typ"
exit
Na schránke, aby ste ju opustili a vrátili sa do vašej aktuálnej shell.
chsh
alebo "Change Shell", príkaz.
Ak chcete použiť tento príkaz, musíte najprv nájsť úplnú cestu k vášmu shellu s tým príkazom. Povedzme napríklad, že sme chceli zmeniť na shell zsh. Spustili by sme nasledujúci príkaz:
which zsh
Na Ubuntu to hovorí, že binárne zsh je uložené na / usr / bin / zsh.
Spustite nasledujúci príkaz, zadajte svoje heslo a zobrazí sa výzva na výber nového prihlasovacieho shellu:
chsh
Podľa vyššie uvedeného príkazu by sme vstúpili
/usr/bin/zsh
Zsh shell by potom bol náš predvolený, kým sme bežali
chsh
príkaz a zmeniť ho späť.