Talán hallott már a Bash-ról – a legtöbb Linux disztribúció alapértelmezett shelljéről. Van egy másik shell, amely előre telepítve van Linuxon: a Bourne shell.

A Bourne shell az egyik legrégebbi shell, amelyet még mindig használnak a modern Linux rendszereken, bár nem olyan széles körben használják, mint a Bash. Íme, amit a Bourne shellről tudnia kell Linuxon.

Mi az a Bourne Shell?

A Bourne shell, amelyet gyakran "sh"-nek rövidítenek, Stephen R. brit informatikusról kapta a nevét. Bourne, aki 1978-ban a Bell Labsnál dolgozott. A shell felváltotta a korábbi Thompson Shellt, amelyet a Unix egyik eredeti alkotója, Ken Thompson írt.

A Bourne shell a Unix 7-es verziójával debütált 1979-ben. Olyan funkciókkal rendelkezett, mint az áramlásvezérlés, a változók és a továbbfejlesztett karakterlánckezelés. Ezek a szolgáltatások megkönnyítették a shell programozási nyelvként való használatát, nem pedig más programok meghívását.

Míg a Bourne shell továbbra is népszerű Unix rendszereken keresztüli hordozható szkriptek írásakor, az volt interaktív használatra felváltotta a C shell, a KornShell, a Bourne Again shell, más néven Bash, és a Z héj. Ezek a héjak olyan funkciókat kínáltak, mint

instagram viewer
parancselőzmények és parancssori szerkesztés ami megkönnyítette a felhasználók és a rendszergazdák életét.

A KornShell, a Bash és a Z shell (lásd később) szintaxisát a Bourne shell befolyásolja.

A még fejlettebb funkciókkal, például a Perl-lel és a Python-nal rendelkező, erősebb, többplatformos szkriptnyelvek szintén nagyrészt felváltották a shell szkripteket.

Ennek ellenére a Bourne shell széles körben ismert, és sok Linux-programhoz mellékelt szkript használja a szintaxisát különféle feladatokhoz.

A Bourne-héj viselkedését kódolták a POSIX szabvány, így sok modern Unix-szerű rendszer valamilyen módon megvalósítja ezt egy kompatibilis shell használatával.

Modern Bourne Shell alternatívák

Linux rendszereken számos nyílt forráskódú modern alternatíva létezik az eredeti Bourne shell helyett. Íme néhány a legismertebbek közül:

1. Bourne Again Shell (Bash)

A név Bourne Again shell (Bash) játék a Bourne-héjon. Ezt a héjat eredetileg a GNU rendszer összetevőjeként fejlesztették ki, több éven át megelőzve a Linuxot.

Nagyrészt kompatibilis az eredetileg a Bourne shellhez írt szkriptekkel. Olyan funkciókat is tartalmazott, mint a KornShell által úttörő parancssori szerkesztés.

A Bash sok Linux disztribúció alapértelmezett shellje, és így önmagában is de facto szabvánnyá vált.

2. KornShell

KornShellksh néven is ismert, eredetileg David Korn fejlesztette ki a szintén Bell Labs-nál az 1980-as években. A Bourne shellre épített KornShell néhány további funkciót is bevezetett, mint például a feladatvezérlés, a tömbök és a parancssori szerkesztés. Ez utóbbi forradalmi funkció volt, amikor először megjelent, mert sokkal egyszerűbb volt, mint a C shell történeti mechanizmusának használata.

Ha újra kellett szerkesztenie egy korábban kiadott parancsot, használhatja a Vi-hez vagy az Emacshoz hasonló parancsokat.

A KornShell alapértelmezett volt néhány kereskedelmi Linux rendszeren, mint például az Oracle Solaris. Mivel az eredeti KornShellt eredetileg az AT&T adta ki saját licenc alatt, végül megjelent a pdksh nevű nyílt forráskódú verzió.

3. Almquist/Debian Almquist Shell

Az Almquist héjat eredetileg Kenneth Almquist írta, és a Bourne shell könnyű helyettesítésére szánták. Sok BSD rendszer tartalmazza az sh megvalósításaként.

Egy verziót az 1990-es években portoltak a Debianra, és Debian Almquist shell néven ismert. Ahogy a neve is sugallja, ez az sh implementációja Debian és Ubuntu rendszereken.

4. Z Shell

Z shellA zsh az egyik legújabb shell, amelyet eredetileg Paul Falsted fejlesztett ki 1990-ben. A Z shell fejlett funkcióiról vált jól ismertté. Jó példa erre a rekurzív globbing, vagy az alkönyvtárak helyettesítő karaktereinek egyezése.

A Z shell a macOS és a Kali Linux alapértelmezett bejelentkezési shellje.

Bourne Shell kompatibilitás

Bár ezek a shell-ek nagyrészt kompatibilisek az eredetileg a Bourne shellhez írt szkriptekkel, van mód arra, hogy viselkedésüket úgy változtassuk meg, hogy jobban hasonlítsanak az eredeti shellre.

Ennek fő módja az keresztül szimbolikus link. A legtöbb rendszer szimbolizálni fog /bin/sh akár Bash-ra, akár egy másik shellre. Ha így hívják meg, a shell kompatibilitási módba lép a Bourne shell-el.

Láthatod, melyik héj /bin/sh -hoz kapcsolódik az ls parancsot:

ls -l /bin/sh

Most már tudsz a Bourne Shellről

A Bourne shell az egyik legrégebbi szabvány a Unix-szerű rendszerek szkriptjére. Még ha más shellekkel is lecserélték, akkor is létfontosságú a mások által írt szkriptek futtatásához.

A Bash az egyik legjobb Bourne-származék a kódoláshoz, különösen a változókhoz való hozzáállása miatt. Van néhány egyedi változója, amelyek miatt érdemes megfontolni a következő projektje során.