Ditt första Bash-skript

Introduktion till Bash-skriptning

Alex Scriven

Data Scientist

Bash-skriptets anatomi

Ett Bash-skript har några viktiga kännetecken:

  • Det börjar vanligtvis med #!/usr/bash (på en egen rad)
    • Så att tolken vet att det är ett Bash-skript och ska använda Bash på sökvägen /usr/bash
    • Sökvägen kan vara en annan om du installerat Bash på en annan plats, t.ex. /bin/bash (kör which bash för att kontrollera)
  • Mellanraderna innehåller kod
    • Det kan vara kommandon rad för rad eller programmeringskonstruktioner
Introduktion till Bash-skriptning

Bash-skriptets anatomi

Spara och kör:

  • Skriptet har filändelsen .sh
    • Tekniskt sett inte nödvändigt om första raden innehåller she-bang och sökvägen till Bash (#!/usr/bash), men det är en konvention
  • Kan köras i terminalen med bash script_name.sh
    • Eller om du har angett första raden (#!/usr/bash) kan du köra det direkt med ./script_name.sh
Introduktion till Bash-skriptning

Exempel på Bash-skript

Ett exempel på ett komplett skript (kallat eg.sh):

#!/usr/bash
echo "Hello world"
echo "Goodbye world"

Kan köras med kommandot ./eg.sh och ger utdata:

Hello world
Goodbye world
Introduktion till Bash-skriptning

Bash och skalkommandon

Varje rad i ditt Bash-skript kan vara ett skalkommando.

Du kan därför även använda pipes i dina Bash-skript.

Betrakta en textfil (animals.txt)

magpie, bird
emu, bird
kangaroo, marsupial
wallaby, marsupial
shark, fish

Vi vill räkna djuren i varje grupp.

Introduktion till Bash-skriptning

Bash och skalkommandon

I skalet kan du skriva ett kedjat kommando direkt i terminalen. Låt oss i stället lägga det i ett skript (group.sh):

#!/usr/bash
cat animals.txt | cut -d " " -f 2 | sort | uniq -c

När skriptet har sparats och du kör bash group.sh blir resultatet:

   2 bird
   1 fish
   2 marsupial
Introduktion till Bash-skriptning

Nu kör vi en övning!

Introduktion till Bash-skriptning

Preparing Video For Download...