Difference between revisions 251309 and 251310 on nlwikibooks

== Een script maken in Linux ==
''Je leert een script schrijven in de terminal van Linux. <br />
''Dit kan handig zijn om een complexe taak met één commando uit te voeren. ''

=== voorkennis ===
* Je hebt een basiskennis in het werken met een Linuxdistributie.  
* Je kan inloggen, programma's starten en grafisch installeren.  
* Je hebt een elementaire kennis van de Linux terminal.  Je kan werken met bestanden en mappen en de rechten ervan beheren.  
* De voorbeelden zijn gemaakt in Edubuntu, maar makkelijk te gebruiken in andere distributies.

=== Stap 1: Een script aanmaken met nano ===
Nano is een teksteditor die werkt in de terminal.  Een grafisch alternatief zou Gedit kunnen zijn. 
* Start de terminal met ctrl-alt-t.  
* Je bent in de ''home'' directory, te herkennen door de ''tilde''~
* start de teksteditor om het bestand installatiescript aan te maken
::''gebruiker@jouwcomputer:~$ nano installatiescript ''
* Vul je commando's lijn voor lijn in en sla op door ctrl -O 
::''echo zo kan je tekst laten zien
::''# dit gebruik je voor commentaar
::''date # je eerste echte commando
* Sluit ''nano'' af met ctrl-x

=== Stap 2: Je script uitvoerbaar maken ===
Standaard is het bestand dat je hebt aangemaakt met nano een gewoon tekstbestand dat niet uitvoerbaar is.  
* Hoe kan je zien wat de rechten zijn van je file? 
::''gebruiker@jouwcomputer:~$ ls -l installatiescript ''
::'' -rw-rw-r-- 1 gebruiker gebruiker 678 dec  3 21:41 installatiescript'' 
* Maak het bestand uitvoerbaar
::''sudo chmod +x installatiescript 
* Controle dat de rechten veranderd zijn
::''gebruiker@jouwcomputer:~$ ls -l installatiescript''$
:: -rw'''x'''rw'''x'''r-'''x''' 1 gebruiker gebruiker 678 dec  3 21:41 installatiescript''
* Je merkt de x'en die erbij zijn gekomen.


=== Stap 3: Je script starten ===
Wanneer je een bestand wil uitvoeren vanuit de terminal moet je vertellen in welke map Linux moet zoeken. 
* Onderstaand commando werkt dus niet: 
::''gebruiker@jouwcomputer:~$ installatiescript''
::''installatiescript: opdracht niet gevonden''
* Dit werkt wel
::''gebruiker@jouwcomputer:~$ '''./'''installatiescript ''
::''zo laat je tekst zien
::''ma dec  3 22:02:52 CET 2012