Kāda ir atšķirība starp Bash, Zsh un citām Linux čaulām?
Lielākā daļa Linux sadalījumu pēc noklusējuma ietver bash apvalku, bet jūs varat arī pārslēgties uz citu apvalka vidi. Zsh ir īpaši populāra alternatīva, un ir arī citi čaumalas, piemēram, pelni, domuzīme, zivis un tcsh. Bet kāda ir atšķirība, un kāpēc ir tik daudz?
Ko dara čaumalas?
Kad jūs pierakstāties komandrindā vai palaižat termināla logu uz Linux, sistēma uzsāk čaulas programmu. Korpusi piedāvā standarta veidu, kā paplašināt komandrindas vidi. Ja vēlaties, varat mainīt citu noklusējuma apvalku.
Pirmā apvalka vide bija Thompson Shell, kas tika izstrādāts Bell Labs un izlaists 1971.gadā. Shell vide kopš šīs koncepcijas ir veidota, pievienojot dažādas jaunas funkcijas, funkcionalitāti un ātruma uzlabojumus.
Piemēram, Bash piedāvā komandas un faila nosaukuma pabeigšanu, uzlabotas skriptu funkcijas, komandu vēsturi, konfigurējamas krāsas, komandu aizstājvārdus un dažādas citas funkcijas, kas nebija pieejamas 1971. gadā, kad tika izlaists pirmais apvalks.
Korpusu fonā izmanto arī dažādi sistēmas pakalpojumi. Linux izplatīšana ietver daudzas funkcijas, kas rakstītas kā čaulas skripti. Šie skripti ir komandas un citas uzlabotas čaulu skriptu funkcijas, kas darbojas caur apvalka vidi.
Korpusi, kas ved līdz Bash: sh, csh, tsh un ksh
Visredzamākais moderno čaumalu priekšgājējs ir Bourne čaula, kas pazīstams arī kā “sh”, kurš tika nosaukts pēc tā autora Stephen Bourne, kurš strādāja AT & T Bell Labs. Atbrīvots 1979.gadā, tas kļuva par noklusēto komandu tulku Unix, jo tā atbalstīja komandu aizstāšanu, cauruļvadus, mainīgos lielumus, stāvokļa pārbaudi un cilpošanu, kā arī citas funkcijas. Tas nepiedāvāja daudz pielāgojumu lietotājiem un neatbalstīja tādas mūsdienu niceties kā pseidonīmi, komandu pabeigšanu un čaumalu funkcijas (lai gan šī pēdējā tika pievienota).
C čaulu jeb “csh” 1970. gadu beigās izstrādāja Bill Joy Kalifornijas Universitātē Berklijā. Tā pievienoja daudz interaktīvu elementu, ar kuriem lietotāji var kontrolēt savas sistēmas, piemēram, pseidonīmi (īsinājumtaustiņus garām komandām), darba pārvaldības spējas, komandu vēsturi un daudz ko citu. Tā tika modelēta no C programmēšanas valodas, kurā bija iekļauta Unix operētājsistēma. Tas nozīmēja arī to, ka Bourne čaulas lietotājiem bija jāiemācās C, lai viņi varētu ievadīt komandas tajā. Turklāt CSH bija diezgan maz kļūdu, kas lietotājiem un radītājiem bija jāapgrūtina gan lielā laika periodā. Cilvēki beidzot izmantoja Bourne čaulu skriptiem, jo tas labāk pārvaldīja neaktīvas komandas, bet normālai lietošanai iestrēdzis ar C apvalku.
Laika gaitā daudzi cilvēki fiksēja kļūdas un pievienoja funkcijas C apvalkam, kas beidzās ar uzlabotu CSH versiju, kas pazīstama kā “tcsh”. Bet CSH joprojām bija noklusējums Unix datoros un bija pievienojis dažas nestandarta funkcijas. Deivids Korns no Bell Labs strādāja pie KornShell vai “ksh”, kas mēģināja uzlabot situāciju, savietojot to ar Bourne čaulas valodu, bet pievienojot daudzas funkcijas no csh apvalka. Tā tika izlaista 1983. gadā, bet ar patentētu licenci. Līdz 2000.gadiem tā nebija bezmaksas programmatūra, kad tā tika izlaista ar dažādām atklātā pirmkoda licencēm.
Bash dzimšana
Portatīvā operētājsistēmas saskarne Unix, vai POSIX, bija vēl viena atbilde uz drudžainajām patentētajām csh implementācijām. Tā veiksmīgi izveidoja komandu interpretācijas standartu (cita starpā) un galu galā atspoguļoja daudzas KornShell funkcijas. Tajā pašā laikā GNU projekts mēģināja izveidot bezmaksas, Unix saderīgu operētājsistēmu. GNU projekts izstrādāja bezmaksas programmatūras apvalku, kas ir daļa no tās bezmaksas operētājsistēmas, un nosauca to par “Bourne Again Shell” vai “bash”.
Bash ir uzlabojusies desmitgadēs kopš tās pirmās izlaišanas 1989. gadā, bet tas joprojām ir noklusējuma apvalks lielākajā daļā Linux izplatījumu. Tas ir arī Apple MacOS noklusējuma apvalks, un tas ir pieejams instalēšanai Microsoft Windows 10.
Jaunāki čaumalas: pelni, domuzīme, zsh un zivis
Kaut arī Linux kopiena kopš tā laika ir nostabilizējusies Bash, izstrādātāji nepārtrauca jaunu čaumalu veidošanu, kad Bash pirmo reizi tika izlaists pirms 28 gadiem..
Kenneth Almquist izveidoja Bourne čaumalu klonu, kas pazīstams kā Almquish apvalks, A Shell, “Ash” vai dažreiz tikai “sh”. tas bija arī POSIX saderīgs un kļuva par noklusējuma apvalku BSD, citā Unix filiālē. Pelnu apvalks ir vieglāks nekā bash, kas padara to populāru iegulto Linux sistēmu vidū. Ja jums ir iesakņojies Android tālrunis, kurā ir uzstādīts BusyBox, vai kāda cita ierīce ar programmatūru BusyBox, tas izmanto kodu no pelnu.
Debian izstrādāja apvalka vidi, kuras pamatā ir pelni un to sauca par „domuzīmi”. Tas ir izstrādāts, lai tas atbilstu POSIX prasībām un būtu viegls, tāpēc tas ir ātrāks nekā Bash, bet tam nav visas tās funkcijas. Ubuntu izmanto domuzīmei kā noklusējuma apvalku neinteraktīviem uzdevumiem, paātrinot čaulu skriptus un citus uzdevumus, kas darbojas fonā. Ubuntu joprojām izmanto interaktīvo čaulu bash, tāpēc lietotājiem joprojām ir interaktīva vide.
Viens no populārākajiem jaunākajiem korpusiem ir Z apvalks vai “zsh”. Izveidojis Paul Falstad 1990.gadā, zsh ir Bourne stila apvalks, kas satur funkcijas, kas atrodamas bash, kā arī vēl vairāk. Piemēram, zsh ir pareizrakstības pārbaude, spēja skatīties pieteikšanās / izrakstīšanās, daži iebūvēti programmēšanas līdzekļi, piemēram, baitekods, atbalsts zinātniskai notācijai sintaksē, ļauj veikt peldošā punkta aritmētiku un citas funkcijas.
Vēl viens jaunāks apvalks ir Friendly Interactive Shell jeb “fish”, kas tika izlaists 2005. gadā. Tam ir unikāla komandrindas sintakse, kas ir izstrādāta tā, lai būtu vieglāk iemācīties, bet tā nav iegūta ne no Bourne čaulas, ne C apvalka. Tā ir interesanta ideja, bet tas, ko jūs iemācīsieties, izmantojot zivis, ne vienmēr palīdzēs jums izmantot bash un citas Bourne iegūtas čaumalas.
Kas jums vajadzētu izvēlēties? (un kāpēc Zsh ir populārs)
Jums nav jāizvēlas apvalks. Jūsu operētājsistēma izvēlas jūsu noklusējuma apvalku, un šī izvēle ir gandrīz vienmēr bash. Sēdieties priekšā Linux izplatīšanas vai pat Mac, un jūs gandrīz vienmēr būs bash apvalks vidi. Basham ir diezgan daudz uzlabotas funkcijas, bet jūs, iespējams, tos neizmantosiet, ja vien nenosaka čaulu skriptus.
Iegultās Linux sistēmās vai BSD sistēmās jūs iegūsiet pelnu apvalku. Bet pelni ir Bourne bāzes čaula un lielā mērā ir saderīgi ar bash. Jebkuras zināšanas, kas jums rodas, lietojot bash, pāriet uz pelnu vai svītru apvalka lietošanu, lai gan šajā vieglajā korpusā nav pieejamas dažas uzlabotas skriptu funkcijas..
Gandrīz katrs apvalks, ar kuru sastapsieties, ir Bourne un darbojas līdzīgi, ieskaitot zsh.
Tāpēc zsh ir populārs. Šis jaunākais apvalks ir saderīgs ar bash, bet ietver vairāk funkciju. Zsh apvalks piedāvā iebūvētu pareizrakstības korekciju, uzlabotu komandrindas pabeigšanu, ielādējamus moduļus, kas darbojas kā spraudņi jūsu čaulai, globālās pseidonīmi, kas ļauj vienkārši aizstāj komandu vietā esošos failu nosaukumus vai kaut ko citu, un vairāk atbalsta. Tas ir tāpat kā bash, bet ar daudzām papildu iespējām, papildu funkcijām un konfigurējamām opcijām jūs varētu novērtēt, ja pavadāt daudz laika komandrindā.
Ja jūs esat iepazinušies ar bash, jūs varat pārslēgties uz zsh, nezinot citu sintaksi, jūs iegūsiet tikai papildu funkcijas. ja jūs esat iepazinušies ar zsh, jūs varat pārslēgties uz bash, nepārzinot citu sintaksi, jūs vienkārši nevarēsiet piekļūt šīm funkcijām.
„Oh My ZSH” ir rīks, kas palīdz jums vieglāk iespējot zsh spraudņus un pārslēgties starp pirmizrādes tematiem, ātri pielāgot zsh apvalku, neiztērējot stundas..
Ir arī citi čaumalas. Piemēram, tcsh apvalks joprojām ir apkārt un joprojām ir opcija. FreeBSD izmanto tsch kā noklusējuma saknes čaulu un kā noklusējuma interaktīvo apvalku pelnu. Ja jūs regulāri izmantojat C programmēšanu, iespējams, ka cch varētu būt labāks. Tomēr tas nekur nav tuvu, kā parasti lieto kā bash vai zsh.
Kā pārslēgties starp čaulām
Lai to izmēģinātu, ir viegli pārslēgties uz jaunu apvalku. Vienkārši instalējiet apvalku no sava Linux izplatīšanas pakotnes pārvaldnieka un ierakstiet komandu, lai palaistu čaulu.
Piemēram, pieņemsim, ka vēlaties izmēģināt zsh uz Ubuntu. Lai instalētu un palaist to, palaist šādas komandas:
sudo apt install zsh zsh
Tad jūs sēžat pie zsh apvalka. Tips " Izeja
“Apvalkā, lai to atstātu un atgrieztos savā pašreizējā apvalkā.
Tas ir tikai īslaicīgs. Kad atverat jaunu termināļa logu vai pierakstāties savā sistēmā komandrindā, redzēsiet noklusējuma apvalku. Lai mainītu redzamo apvalku, jūs pierakstāties kā savu pieteikšanās čaulu, jūs parasti varat izmantot chsh
, vai “Change Shell”, komanda.
Lai izmantotu šo komandu, vispirms ir jāatrod pilns ceļš uz jūsu apvalku ar komandu. Piemēram, pieņemsim, ka gribējām mainīt zsh apvalku. Mēs palaidīsim šādu komandu:
kas zsh
Uz Ubuntu tas norāda, ka zsh binārs tiek saglabāts vietnē / usr / bin / zsh.
Izpildiet šādu komandu, ievadiet savu paroli un jums tiks piedāvāts izvēlēties jaunu pieteikšanās apvalku:
chsh
Saskaņā ar iepriekš minēto komandu mēs ievadīsim / usr / bin / zsh
. Zsh apvalks pēc tam būtu mūsu noklusējuma līdz brīdim, kad mēs darbinājām chsh
komandu un nomainīja to atpakaļ.