Een linux-script is ongeveer hetzelfde als een .BATch bestand onder DOS.
In een script wordt een serie van commando's opgeslagen die na elkaar kunnen worden uitgevoerd als het script wordt aangeroepen.
Voor het schrijven van een script hoef je alleen een standaard ASCII-bestand met de instructies te schrijven. Sla deze file op, en maak het vervolgens uitvoerbaar met het commando chmod +x <scriptfile>.
Typ de naam van het script in op de commandline, om het script uit te voeren.
Maak een file aan genaamd reverse en plaats de volgende regel in de file:
ls -ltr
Maak de file executable:
$ chmod +x reverse
Voer de file uit door het volgende commado in te geven op de commandline:
reverse
#!/bin/bash
tar -cZf /var/my-backup.tgz /home/user01/
Het script gebruikt twee regels.
Zoals in andere programmeertalen kan je ook in scripts variabelen gebruiken.
Hiervoor worden geen datatypen gebruikt.
Een variabele in bash kan een getal, een karakter of een string van karakters bevatten.
De variabele hoeft niet eerst gedeclareerd te worden. Door een waarde toe te kennen wordt de variabele ook direct aangemaakt.
#!/bin/bash
Outputfile=/var/my-backup-$(date +%Y%m%d).tgz
tar -cZf $Outputfile /home/user01/
In dit script zie je dat de gecomprimeerde backup van het directory /home/user01/ wordt opgeslagen in de file uit de variabele Outputfile.
De variabele Outputfile bevat een filenaam die afhankelijk is van de huidge datum. Als het vandaag 1 april 2008 is, betekent dit dat op het directory /var een file my-backup-20080401.tgz komt te staan.
| + | plus | |
| - | min | |
| * | vermenigvuldigen | |
| / | delen | |
| % | rest (na delen) |
| -lt | < | |
| -gt | > | |
| -le | =< | |
| -ge | >= | |
| -eq | == | |
| -ne | != |
| s1 = s2 | s1 is gelijk aan s2 |
| s1 != s2 | s1 is ongelijk aan s2 |
| -n s1 | s1 is niet null (is niet leeg en bevat dus een of meer karakters) |
| -z s1 | s1 is null |
Door het gebruik van condities kunnen bepaalde acties wel of niet worden uitgevoerd. Deze beslissing wordt genomen door een expressie te evalueren.
Condities kunnen voorkomen in verschillende vormen.
De basisvorm is:
if [ expressie];
then statement
fi
'statement' wordt hierbij alleen uitgevoerd indien 'expressie' wordt geevalueerd als waar (true)
Let op de syntax: fi sluit hierbij het if-statement af.
Vb: '2<1' is an expresie die niet waar is (false), terwijl '2>1' een expressie is die waar (true) is.
Andere vormen van condities zijn:
if [ expressie ];
then statement1
else statement2
fi
Hierbij wordt 'statement1' is uitgevoerd indien 'expressie' waar is, anders wordt 'statement2' uitgevoerd.
#!/bin/bash
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
echo expressie is waar
else
echo expressie is niet waar
fi
Menu |
|