Bash høres ut som et merkelig navn for et kommandolinjegrensesnitt som hilser brukere som logger på en hvilken som helst Linux-distribusjon. Hva er egentlig Bash? Hva kan du bruke det til? La oss finne det ut.
Mens Bash vanligvis er assosiert med Linux, kan du bruke det på Windows også. macOS inkluderer allerede Bash, selv om det har endret standardskallet til Zsh – en avansert versjon av Bash med noen tilleggsfunksjoner.
Innholdsfortegnelse
Hva er et skall?
Begrepet Bash-skall blir kastet rundt mye, men hva er et skall? Hvorfor trengs det? Og hvorfor ser Bash ut til å være det eneste skallet der ute?
Moderne operativsystemer med sine intuitive grafiske brukergrensesnitt har gjort det enkelt å bruke en datamaskin. Men i begynnelsen av datamaskiner var det ikke så enkelt å fortelle et system hva det skulle gjøre.
Programmerere måtte kjenne til lavnivådetaljene til systemet de koder for, og manuelt instruere hver maskinvare. Operativsystemer ble designet for å bygge bro over dette gapet, men hvordan ville du instruert selve operativsystemet?
Skriv inn skallet. Det ytterste laget av operativsystemet ble designet for å være et interaktivt miljø som viser all funksjonaliteten til datamaskinen i et enkelt grensesnitt. Dette skallet var det lengste en bruker av datamaskinen måtte fordype seg i, siden det inneholdt alle kommandoene som kreves for å betjene systemet.
Bourne Again: How Bash Came to Be
En vanlig misforståelse er at Bash ble opprettet av Linus Torvalds for Linux-operativsystemet. I virkeligheten ble Bash bare portert inn i Linux, og ble allerede brukt i forgjengeren Unix.
På mange måter er Unix der det hele begynte for moderne operativsystemer. Det fjernet mye av den innviklede kompleksiteten som plaget tidlige OS-implementeringer, og presenterte funksjonene til en datamaskin i et relativt enkelt tekstbasert grensesnitt.
Selvfølgelig lånte Unix selv de fleste av ideene sine fra Multics, inkludert konseptet med et skall. Men det var Unix som faktisk populariserte teknikken, med Thompson Shell som ble rullet ut med sin første versjon.
Dens funksjonalitet var imidlertid ganske begrenset, og mange programmerere endte opp med å endre skallet for å gjøre det mer skriptvennlig. Bourne Shell var den offisielle erstatningen av Unix-skallet, og la til støtte for shell-skript.
Bourne Again Shell ble utgitt mye senere, og ga en ytterligere forbedring av skriptfunksjonene og gjorde det om til et gratis GNU-lisensskall med åpen kildekode som kan brukes av alle operativsystemer. Og det ble raskt adoptert av Linux, og ble standardskallet for de forskjellige distroene.
Men hva kan Bash gjøre?
Bash er i utgangspunktet et fullverdig skriptmiljø med full tilgang til Linux-systemet. Fra å administrere filer til å kjøre applikasjoner, kan du utføre alle databehandlingsoppgaver med Bash-kommandoer.
For de fleste Linux-brukere oversettes dette bare til manuelle skallkommandoer. Tross alt er hovedformålet med Bash å tjene som et grensesnitt til operativsystemet.
Og det er ganske mange av disse innebygde kommandoene. Du kan administrere fileierskap med chown, konfigurere nettverksinnstillinger med ifconfig, finne kataloger med find – listen fortsetter.
Men Bash ville ikke eksistert hvis Linux-kommandoer var alt brukerne var interessert i. Nei, den sanne kraften til Linux-skallet ligger i skripting.
Betydningen av skripting
Ideen med skriptkommandoer er enkel. I stedet for manuelt å legge inn alle kommandoene du vil at systemet skal utføre en etter en, lagrer du kommandoene i en tekstfil som kan kjøres på forespørsel.
Dette gjør shell-grensesnittet til et slags programmeringsspråk, som lar brukere automatisere enhver handling til et gjenbrukbart skript. Det går åpenbart lenger enn det, ettersom ethvert programmeringsspråk trenger ting som variabler og funksjoner i tillegg til muligheten til å lagre kode.
Og Bash har alle disse funksjonene. Dette er grunnen til at skallet – og til en viss grad Linux generelt – er så populært for å administrere servere og kommersielle systemer.
En hjemmebruker kan få det ved å klikke gjennom en haug med knapper, men en systemadministrator må kunne utføre enhver handling på et stort antall datamaskiner eksternt. Bash-skript er det som gjør denne typen automatisert systemadministrasjon mulig.
Vurder for eksempel vår veiledning om å gi nytt navn til filer og mapper på Linux. Veiledningen illustrerer begge metodene – GUI og script. Som du kan se, er skriptmetoden langt mer skalerbar når det er et stort antall filer involvert.
Kom i gang med Bash
Det som er bra med Bash er at det ikke er begrenset til Linux alene. Du kan nå installere Linux på Windows gjennom Windows Subsystem for Linux (WSL), som leveres med Bash som standard.
Det betyr at du kan begynne å eksperimentere med Bash uten å måtte bytte helt til Linux. Selv om du er en tilfeldig bruker som ikke har tenkt å jobbe med Linux-servere, kan de interessante egenskapene til et Bash-skall være nyttige for deg.
Ikke at Bash er det eneste alternativet for å automatisere dataoppgaver. PowerShell er et lignende grensesnitt som fungerer med Windows-bortsett fra det du kan administrere med kommandoprompten, selvfølgelig.