Du har måske hørt om Bash - standardskallen på de fleste Linux-distros. Der er en anden shell, der kommer forudinstalleret på Linux: Bourne shell.

Bourne-skallen er en af ​​de ældste skaller, der stadig er i brug på moderne Linux-systemer, selvom den ikke er så udbredt som Bash. Her er hvad du behøver at vide om Bourne-skallen på Linux.

Hvad er Bourne Shell?

Bourne-skallen, ofte forkortet til "sh", er opkaldt efter den britiske datalog Stephen R. Bourne, som udviklede det, mens han arbejdede hos Bell Labs i 1978. Skallen erstattede den tidligere Thompson Shell, skrevet af en af ​​Unix's originale skabere, Ken Thompson.

Bourne-skallen debuterede med Version 7 Unix i 1979. Det havde funktioner som flowkontrol, variabler og forbedret strenghåndtering. Disse funktioner gjorde det lettere at bruge skallen som et programmeringssprog i stedet for blot en måde at kalde andre programmer op.

Mens Bourne-skallen forblev populær til at skrive bærbare scripts på tværs af Unix-systemer, var den det afløst til interaktiv brug af C shell, KornShell, Bourne Again shell, også kendt som Bash, og Z skal. Disse skaller tilbød funktioner som

instagram viewer
kommandohistorik og kommandolinjeredigering der gjorde livet lettere for brugere og administratorer.

KornShell, Bash og Z shell (dækket senere) har syntakser påvirket af Bourne shell.

Mere kraftfulde scriptsprog på tværs af platforme med endnu mere avancerede funktioner som Perl og Python erstattede også stort set shell-scripting.

Alligevel er Bourne-skallen bredt forstået, og mange scripts, der leveres med Linux-programmer, bruger dens syntaks til forskellige opgaver.

Bourne-skallens opførsel blev kodificeret til POSIX-standarden, så mange moderne Unix-lignende systemer implementerer det på en eller anden måde ved at bruge en kompatibel shell.

Moderne Bourne Shell-alternativer

Der er flere moderne open source-alternativer til den originale Bourne-skal på Linux-systemer. Her er nogle af de mest kendte:

1. Bourne Again Shell (Bash)

Navnet Bourne Again shell (Bash) er et spil på Bourne-skallen. Denne shell blev oprindeligt udviklet som en komponent i GNU-systemet, før Linux i flere år.

Det er stort set kompatibelt med scripts, der oprindeligt er skrevet til Bourne-skallen. Det inkorporerede også funktioner som kommandolinjeredigering, som er udviklet af KornShell.

Bash er standardskallen på mange Linux-distributioner og er således blevet en de facto standard i sig selv.

2. KornShell

KornShell, også kendt som ksh, blev oprindeligt udviklet af David Korn, også hos Bell Labs, i 1980'erne. Bygget oven på Bourne shell introducerede KornShell nogle ekstra funktioner som jobkontrol, arrays og kommandolinjeredigering. Sidstnævnte var en revolutionerende funktion, da den først dukkede op, fordi det var meget nemmere end at bruge C-skallens historiemekanisme.

Hvis du havde brug for at genredigere en tidligere udstedt kommando, kunne du bruge kommandoer svarende til Vi eller Emacs til at gøre det.

KornShell var en standard på nogle kommercielle Linux-systemer som Oracle Solaris. Da den originale KornShell oprindeligt blev udgivet af AT&T under en proprietær licens, blev en open source-version ved navn pdksh til sidst udgivet.

3. Almquist/Debian Almquist Shell

Almquist-skallen blev oprindeligt skrevet af Kenneth Almquist og var tænkt som en letvægtserstatning for Bourne-skallen. Mange BSD-systemer inkluderer det som implementering af sh.

En version blev overført til Debian i 1990'erne og er kendt som Debian Almquist-skallen. Som navnet antyder, er det implementeringen af ​​sh på Debian- og Ubuntu-systemer.

4. Z Shell

Z skal, eller zsh, er en af ​​de nyeste skaller, oprindeligt udviklet i 1990 af Paul Falsted. Z shell er blevet kendt for sine avancerede funktioner. Et godt eksempel er rekursiv globbing eller evnen til at matche jokertegn i undermapper.

Z shell er standard login shell til macOS og Kali Linux.

Bourne Shell-kompatibilitet

Selvom disse skaller stort set er kompatible med scripts, der oprindeligt er skrevet til Bourne-skallen, er der måder at ændre deres adfærd på, så de ligner den originale shell.

Den vigtigste måde at gøre dette på er gennem et symbolsk link. De fleste systemer vil symlink /bin/sh til enten Bash eller en anden skal. Når den kaldes på denne måde, går skallen i en kompatibilitetstilstand med Bourne-skallen.

Du kan se hvilken skal /bin/sh er knyttet til med ls kommandoen:

ls -l /bin/sh

Nu ved du om Bourne Shell

Bourne-skallen er en af ​​de ældste standarder for scripting på Unix-lignende systemer. Selvom det er blevet erstattet af andre skaller, er det stadig vigtigt for at køre scripts skrevet af andre.

Bash er en af ​​de bedste Bourne-derivater til kodning, især for dens tilgang til variabler. Det har nogle unikke variabler, der kan give dig lyst til at overveje det til dit næste projekt.