^ Linux – Friheden til at programmere: Version 2.5.20050330 – 2020-12-31 ^|
| [[program:sprog-basic|forrige]] | Kapitel 2. Vælg et sprog | [[program:sprog-c|næste]] |
----
==== 2.3. Bourne shell ====
Bourne shell er den oprindelige unixshell som på alle unixsystemer
er installeret som **/bin/sh** , som i dag er
defineret af Single Unix Specification version 3 (SUSv3, tidligere
POSIX).
Der er flere forskellige shells der implementerer bourne shell. På
linuxmaskiner vil **/bin/sh** sædvanligvis være et link
til bash (Bourne Again Shell) der når den bliver kaldt som **sh** køre i en speciel kompatibilitetsmode. Men også
ksh (Korn Shell) og zsh implementerer bourne shell, dog med hver deres
små udvidelser.
Shellscripts bliver for det meste brugt til at binde andre programmer
sammen med. Ud over Bourne shell findes også[[program:sprog-csh|chs]]og batch-filer i MS-DOS er egentlig også shellscripts.
De to hovedfordele ved at bruge Bourne shell er: * At programmer skrevet i Bourne shell umiddelbart kan køres på alle
systemer der overholder SUSv3-standarden.
* At Bourne shell som kommandofortolkersprog er velegnet til at
binde større programmer sammen, så de løser en bestemt opgave.
Medmindre man har meget gode grunde til det, bør man ikke skrive
programmer der skal deles med andre, i andre kommandofortolkersprog
end Bourne shell. Andre kommandofortolkersprog giver i nogle
tilfælde mulighed for at løse opgaver en smule mere elegant, men det
er sjældent at det opvejer fordelen ved at det er Bourne shell man
kan regne med findes på stort set alle styresystemer. Den primære
eksistensberettigelse for bash, ksh og zsh er dog i deres egenskaber
ved interaktiv brug, hvilket er uden for denne bogs emner.
De egenskaber der gør sproget nyttigt er: * Andre kommandoer indgår naturligt som en integreret del af sproget
(grep, sort, cat, ...)
* Pipes og redirection gør det let at tage uddata fra kommandoer og
føre dem videre over i andre kommandoer eller gemme dem i filer.
Desuden forøger man sin effektivitet ved brug af komandolinjen ved at
kunne det bagvedliggende scriptingsprog
Bourne shell er så integreret i Unix at sproget bliver gennemgået som
et selvstændigt afsnit i Friheden til at lære Unix.
=== 2.3.1. Brug af Bourne shell ===
Bourne scripts gemmes normalt i filer. Disse skal så som første linje
hedde#! /bin/sh. Følgende er et eksempel på et
script#! /bin/sh
while read p; do
echo p
if [ -z "$p" ] ; then
exit 0
fi
done
Bourne scirpts kan også skrives direkte på komandolinjen:[tyge@hven ~]$for i in foo bar baz; do echo $i; donefoo
bar
baz[tyge@hven ~]$
----
| [[program:sprog-basic|forrige]] | [[program:index|hjem]] | [[program:sprog-c|næste]] |
| Basic | [[program:vaelg-et-sprog|op]] | C |