Du har kanskje hørt om Bash - standardskallet på de fleste Linux-distroer. Det er et annet skall som kommer forhåndsinstallert på Linux: Bourne-skallet.

Bourne-skallet er et av de eldste skallene som fortsatt er i bruk på moderne Linux-systemer, selv om det ikke er så mye brukt som Bash. Her er det du trenger å vite om Bourne-skallet på Linux.

Hva er Bourne Shell?

Bourne-skallet, ofte forkortet til "sh", er oppkalt etter den britiske informatikeren Stephen R. Bourne, som utviklet den mens han jobbet ved Bell Labs i 1978. Skallet erstattet det tidligere Thompson Shell, skrevet av en av Unixs originale skapere, Ken Thompson.

Bourne-skallet debuterte med versjon 7 Unix i 1979. Den hadde funksjoner som flytkontroll, variabler og forbedret strenghåndtering. Disse funksjonene gjorde det lettere å bruke skallet som et programmeringsspråk i stedet for bare en måte å kalle opp andre programmer.

Mens Bourne-skallet forble populært for å skrive bærbare skript på tvers av Unix-systemer, var det det erstattet for interaktiv bruk av C-skallet, KornShell, Bourne Again-skallet, også kjent som Bash, og Z skall. Disse skjellene tilbød funksjoner som

kommandohistorikk og kommandolinjeredigering som gjorde livet enklere for brukere og administratorer.

KornShell, Bash og Z-skall (dekket senere) har syntakser påvirket av Bourne-skallet.

Kraftigere skriptspråk på tvers av plattformer med enda mer avanserte funksjoner som Perl og Python erstattet også i stor grad shell-scripting.

Fortsatt er Bourne-skallet mye forstått, og mange skript som følger med Linux-programmer, bruker syntaksen til forskjellige oppgaver.

Bourne-skallets oppførsel ble kodifisert til POSIX-standarden, så mange moderne Unix-lignende systemer implementerer det på en eller annen måte ved å bruke et kompatibelt skall.

Moderne Bourne Shell-alternativer

Det er flere moderne alternativer med åpen kildekode til det originale Bourne-skallet på Linux-systemer. Her er noen av de mest kjente:

1. Bourne Again Shell (Bash)

Navnet Bourne Again-skall (Bash) er et skuespill på Bourne-skallet. Dette skallet ble opprinnelig utviklet som en komponent i GNU-systemet, og gikk før Linux i flere år.

Det er stort sett kompatibelt med manus som opprinnelig ble skrevet for Bourne-skallet. Den inkorporerte også funksjoner som kommandolinjeredigering utviklet av KornShell.

Bash er standardskallet på mange Linux-distribusjoner og har dermed blitt en de facto-standard alene.

2. KornShell

KornShell, også kjent som ksh, ble opprinnelig utviklet av David Korn, også ved Bell Labs, på 1980-tallet. Bygget på toppen av Bourne shell, introduserte KornShell noen tilleggsfunksjoner som jobbkontroll, arrays og kommandolinjeredigering. Sistnevnte var en revolusjonerende funksjon da den først dukket opp fordi det var mye enklere enn å bruke C-skallets historiemekanisme.

Hvis du trengte å redigere en tidligere utstedt kommando på nytt, kan du bruke kommandoer som ligner på Vi eller Emacs for å gjøre det.

KornShell var en standard på noen kommersielle Linux-systemer som Oracle Solaris. Ettersom den originale KornShell opprinnelig ble utgitt av AT&T under en proprietær lisens, ble en åpen kildekodeversjon kalt pdksh til slutt utgitt.

3. Almquist/Debian Almquist Shell

Almquist-skallet ble opprinnelig skrevet av Kenneth Almquist og var ment som en lettvektserstatning for Bourne-skallet. Mange BSD-systemer inkluderer det som implementering av sh.

En versjon ble portert til Debian på 1990-tallet og er kjent som Debian Almquist-skallet. Som navnet tilsier, er det implementeringen av sh på Debian- og Ubuntu-systemer.

4. Z Shell

Z-skall, eller zsh, er et av de nyeste skallene, opprinnelig utviklet i 1990 av Paul Falsted. Z-shell har blitt kjent for sine avanserte funksjoner. Et godt eksempel er rekursiv globbing, eller muligheten til å matche jokertegn i underkataloger.

Z-shell er standard påloggingsskall for macOS og Kali Linux.

Bourne Shell-kompatibilitet

Selv om disse skallene stort sett er kompatible med skript som opprinnelig ble skrevet for Bourne-skallet, er det måter å endre oppførselen deres til å være mer lik det originale skallet.

Den viktigste måten å gjøre dette på er gjennom en symbolsk kobling. De fleste systemer vil symlink /bin/sh til enten Bash eller et annet skall. Når det påkalles på denne måten, vil skallet gå inn i en kompatibilitetsmodus med Bourne-skallet.

Du kan se hvilket skall /bin/sh er knyttet til med ls-kommandoen:

ls -l /bin/sh

Nå vet du om Bourne Shell

Bourne-skallet er en av de eldste standardene for skripting på Unix-lignende systemer. Selv om det har blitt erstattet av andre skall, er det fortsatt viktig for å kjøre skript skrevet av andre.

Bash er en av de beste Bourne-derivatene for koding, spesielt for sin tilnærming til variabler. Den har noen unike variabler som kan gjøre at du ønsker å vurdere den for ditt neste prosjekt.