Scripting

Leerdoelen

  • Bash gebruiken om programma's te schrijven

Een shell-script

  • Is een...
    • Lijst met commando's
    • Die na elkaar uitgevoerd worden
  • Zo kunnen we...
    • Taken automatiseren

Variabelen

Een script

user="Mohamed"
cd /home/${user}
mkdir Schoolwerk
mkdir Schoolwerk/Blok1
mkdir Schoolwerk/Blok2
mkdir Schoolwerk/Blok3
mkdir Schoolwerk/Blok4
mkdir Schoolwerk/Blok5
mkdir Schoolwerk/Blok6
mkdir Schoolwerk/Blok7
mkdir Schoolwerk/Blok8
  • user is een variabele
  • user= zet een variabele met de waarde Mohamed
  • ${user} gebruikt de variabele

Neem het script over en sla het op als schoolwerk.sh

Data

  • Variabelen bewaren data in het geheugen
  • Met een naam kunnen we deze data aanspreken
  • We hoeven niet het geheugen adres te onthouden
  • Mensen zijn beter in namen dan lange getallen

Script opstarten

  • Wat denkt Linux over ons script?
  • file schoolwerk.sh
  • schoolwerk.sh: ASCII text
  • Linux vindt dit een gewoon tekst bestand
  • We gaan het script aanpassen
  • Op een regel boven cd zetten we
    #!
  • We vragen wederom aan linux van hij vindt van ons bestand
  • Nu vindt linux:
    schoolwerk.sh: a script, ASCII text executable
  • Linux vindt ons bestand nu een script
  • We gaan het script nogmaals aanpassen
  • We maken van de bovenste regel:
    #!/bin/bash
  • We vragen wederom aan linux wat hij vindt van ons bestand
  • schoolwerk.sh: Bourne-Again shell script, ASCII text executable
  • Linux vindt ons bestand nu een Bash shell script
  • Linux doet niets met bestand extensies (.sh)
  • De eerst twee bytes bepalen het bestandstype
  • #! vertelt dat het script een shell script is
    • We spreken dit uit als she-bang
  • Scripts hebben een interpreter nodig
  • #!/bin/bash vertelt dat /bin/bash de interpreter is
  • We moeten het script executable maken
  • chmod u+x schoolwerk.sh
  • Vanaf nu kunnen we het script opstarten met het volledige pad naar het script
  • ./schoolwerk.sh

Samenvatting

  • We hebben een eerste script gemaakt
  • We hebben geleerd dat een script moet starten met
    • #!
    • Een bash script moet starten met
      • #!/bin/bash
  • Scripts worden gestart met de volledige pad naam