Hvad er Bash?

Skrevet af: Patrick Kerwood

Alle moderate Linux brugere har altid en håndfuld Shell scripts liggende der er med til at gøre vores hverdag nemmere. Jeg vil løbende, uden at forpligte mig alt for meget ;), ligge dem ud på dette site, samt diverse guides.


Derfor synes jeg det er relevant, at starte med, at beskrive hvad et Bash script er, men lad os tage et par skridt baglæns.

Hvad er Bash? Bash er en Unix Shell.
Hvad er en Unix Shell? En Unix Shell er en “kommando tolk” eller et interface/grænseflade som giver os et miljø der samler vores input og udfører programmer, baseret på denne input. Og programmet bruger din Shell til at output informationer til dig.

Der findes forskellige Shells, ligesom der findes forskellige Linux distro’er. Hver Shell har deres egne fordele, ulemper og funktioner.

Tilbage til Bash…
Som sagt er Bash en Unix Shell, skrevet af en gut ved navn Brian Fox, og en Open Source erstatning for Bourne Shell. Bourne Shell er en standard Shell til Unix. Bash blev frigivet i 1989 og bliver brugt i stort set alle Linux systemer.

Bash er en forkortelse af Bourne-Again SHell.

Et Bash/Shell script er simpelt, en fil der fodre input til computeren, linje for linje.
Et Shell script skal altid starte med “#!/bin/bash” som er stien til den Shell du vil bruge, i dette tilfælde Bash.

Et eksempel på et script kunne være.

Hvor output vil være.

Hello World
Nice to see you!

Et andet eksempel kunne være at der løbende kommer filer ind på en server, hvor rettighederne løbende skal laves om.
Derfor laver vi et script som vi kalder “permchange” og som udfører de nødvendige kommandoer.

For at kører dette script, skal vi fortælle vores Shell at den skal starte det.
Det gøres ved først at gøre det executable med kommandoen:
chmod +x permchange

Dernæste at kører det:
bash permchangeEller..
./permchange

Der vil i dette tilfælde ikke være noget output, med mindre der sker noget som forhindre kommandoen i at blive udført.

Pt. kan vi kun kører scriptet, hvis vi står i samme mappe eller at vi henviser til mappen med scriptet
Fx. “bash /sti/til/mappe/permchange

For at kunne kører det, uanset hvilken mappe du er i, kan du flytte det til /usr/local/bin, og derefter execute det hvor som helst.
mv permchange /usr/local/bin


18 dec 2012   | Alle · Bash · Ny til Linux · Scripts

Leave a Reply