Bash vs Z shell: A Tale of Two Command Line Shells octombrie 7, 2021 Recent, Apple a anunțat că, începând cu următoarea versiune de macOS, Catalina, va adopta zsh ca shell implicit în locul lui bash. În calitate de student în devenire la știința datelor, după ce am învățat toată linia de comandă pe bash, m-am întrebat cum mă va afecta acest lucru. Oare ceea ce am învățat în bash devenise pur și simplu inutil?? Să aruncăm o privire asupra celor două și să aflăm. „Bourne-again shell” sau bash pe scurt a fost creat în 1989 de Brian Fox. Este un shell și un limbaj de comenzi Unix scris ca un înlocuitor al shell-ului Bourne. A fost distribuit pe scară largă ca fiind shell-ul de autentificare implicit pentru majoritatea distribuțiilor Linux și pentru macOS de la Apple. Bash a introdus îmbunătățiri față de Bourne shell, inclusiv capacitatea sa de a fi utilizat ca limbaj de scripting. Utilizatorii își puteau scrie propriile scripturi de shell pentru automatizarea sarcinilor. „Z shell” sau zsh pe scurt, a fost creat în 1990 de Paul Falstad. Este, de asemenea, un shell Unix și un limbaj de comenzi bazat pe Bourne shell cu un număr mare de îmbunătățiri, inclusiv unele caracteristici ale lui bash. Zsh a avut, de asemenea, capacitatea de a fi folosit ca un limbaj de scripting cu posibilitatea de a utiliza scripturi shell. În prezent, are o comunitate foarte puternică de adepți și suport. Bash vs. zsh: În mare parte, bash și zsh sunt aproape identice, ceea ce este o ușurare. Navigarea este aceeași între cele două. Comenzile pe care le-ați învățat pentru bash vor funcționa și în zsh, deși pot funcționa diferit la ieșire. Zsh pare să fie mult mai ușor de personalizat decât bash. Voi trece acum în revistă câteva caracteristici și modul în care diferă în fiecare dintre ele. Completare automată O funcție utilă a ambelor shell-uri sunt funcțiile de completare automată a tabulației. În ambele shell-uri puteți tasta comanda urmată de apăsarea tastei tab pentru a afișa opțiunile disponibile după comandă. Completarea prin tabulare din Zsh este mai bogată în funcții, oferindu-vă o listă de opțiuni care pot fi apoi navigate și selectate cu ajutorul tastelor săgeată, în loc să vă luptați cu majusculele și minusculele sau să vă încurcați cu o listă lungă de dosare cu spații în ea. Zsh are chiar și completare de tabulare pentru Git! Corecție automată Dacă tastați repede și fără grabă, în zsh dacă faceți o greșeală de scriere în timp ce scrieți o comandă, de exemplu, corecția ortografică este încorporată, va detecta automat greșeala și vă va întreba dacă doriți să o corectați. Suport pentru plugin-uri Zsh are o comunitate online numită Oh My Zsh, care este una dintre cele mai vechi și mai populare opțiuni pentru gestionarea zsh. Aceasta oferă peste 250 de plugin-uri și 140 de teme diferite furnizate de comunitate. Acest lucru le permite utilizatorilor să lucreze într-un mediu configurat special pentru fluxul lor de lucru. Mai jos este o previzualizare a plug in-ului git. Bash are un set mare de funcții de programare, cum ar fi construcțiile de buclă și condiționale, expansiunea tildei și a parantezelor și utilizarea de alias-uri. Bash este, de asemenea, un shell mai vechi și consacrat, ceea ce înseamnă că are și tone de resurse online pentru a găsi ceea ce trebuie să faceți. Multe dintre caracteristicile lui zsh pot fi reproduse în bash prin diverse metode. Dați o tură cu Zsh! Vreți să încercați zsh înainte de lansarea macOS catalina? Dacă sunteți pe macOS, cel mai probabil aveți deja zsh pe calculatorul dumneavoastră. Puteți verifica prin rularea comenzii: which zsh Dacă zsh este prezent pe sistemul dvs. acesta, va fi returnată calea de instalare. De acolo, pentru a trece la zsh, executați comanda: chsh -s /bin/zsh și vi se va cere parola. Pentru a începe să folosiți zsh, reporniți terminalul. Dacă doriți să treceți din nou la bash, executați comanda: which bash , care vă va da locația instalației bash. Apoi rulați: chsh -s /bin/bash Reporniți terminalul și veți fi din nou în teritoriu familiar. Atunci, care este mai bun? În concluzie, rularea oricăruia dintre cele două shell-uri vă va face treaba. Problema actuală cu versiunea de bash de pe macOS este că este o versiune învechită 3.2. Versiunea actuală este 5.0. Se speculează că acest lucru se datorează în mare parte unor probleme de licențiere la Apple. Trecerea la un shell actualizat va fi o schimbare binevenită. Se pare că este vorba mai ales de preferințe când vine vorba de a alege unul în locul celuilalt. Multe dintre facilitățile oferite de zsh pot fi făcute să funcționeze și în bash. În opinia mea, zsh mi se pare mai util pentru mine, ca utilizator mai nou de shell-uri. Kilometrajul dumneavoastră poate varia. Pentru mai multe informații despre Oh-My-Zsh, un cadru excelent condus de comunitate pentru gestionarea configurației zsh, vizitați aici: https://github.com/robbyrussell/oh-my-zsh