Verder Terug Inhoud

5. Variabelen

Je kunt net als in iedere andere programmeertaal gebruik maken van variabelen. Er zijn geen gegevenstypen. Onder bash kan een variabele bestaan uit een nummer, een teken, of een reeks tekens.

Je hoeft een variabele niet te declareren. Door er slechts een waarde aan toe te kennen zal het worden aangemaakt.

5.1 Voorbeeld: Hello World! door gebruik te maken van variabelen

            #!/bin/bash          
            STR="Hello World!"
            echo $STR    
            

In regel 2 wordt een variabele aangemaakt met de naam STR en hieraan wordt de string "Hello World!" toegekend. De WAARDE van deze variabele wordt vervolgens opgehaald door er een '$' voor te plaatsen. Let er alsjeblieft op (probeer het uit!) dat als je het '$' teken niet gebruikt, de uitvoer van het programma iets anders zal zijn, en het waarschijnlijk niet datgene zal zijn wat je wilt dat 't is.

5.2 Voorbeeld: Een zeer eenvoudig backupscript (iets beter)

           #!/bin/bash          
           OF=/var/my-backup-$(date +%Y%m%d).tgz
           tar -cZf $OF /home/me/
           

In dit script wordt iets anders geïntroduceerd. Ten eerste zou je nu bekend moeten zijn met de aanmaak van de variabele en de toekenning in regel 2. Let op de expressie `$(date +%Y%m%d)'. Als je het script uit laat voeren, zal je bemerken dat het de opdracht binnen de haakjes uitvoert, en de uitvoer ervan afvangt.

Merk op dat de naam van het bestand, de uitvoer, iedere dag anders zal zijn, vanwege de opmaakoptie van de opdracht date (+%Y%m%d). Je kunt dit wijzigen door een ander formaat op te geven.

Nog wat meer voorbeelden:

echo ls

echo $(ls)

5.3 Lokale variabelen

Lokale variabelen kunnen worden aangemaakt door gebruik te maken van het keyword local.

        #!/bin/bash
        HELLO=Hello 
        function hello {
                local HELLO=World
                echo $HELLO
        }
        echo $HELLO
        hello
        echo $HELLO
Dit voorbeeld zou genoeg moeten zijn om aan te tonen hoe je een lokale variabele gebruikt.
Verder Terug Inhoud