Avanti Indietro Indice

5. Variabili

Puoi usare le variabili come in ogni linguaggio di programmazione. Non esistono tipi di dati. Una variabile nella bash può contenere un numero, un carattere, una stringa di caratteri.

Non hai bisogno di dichiarare una variabile, il solo atto di assegnare un valore al suo riferimento farà sì che venga creata.

5.1 Esempio: Hello World! usando le variabili

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

La riga 2 crea una variabile chiamata STR e le assegna la stringa "Hello World!". Poi il VALORE di questa variabile è recuperato inserendo il simbolo '$' all'inizio (del riferimento, ndt). Osserva (provaci!) che se non usi il segno '$', l'output del programma sarà differente, e probabilmente non quello che avresti voluto fosse.

5.2 Esempio: Uno script di backup molto semplice (un poco migliore)

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

Questo script introduce un'altra cosa. Prima di tutto, dovresti aver dimestichezza con la creazione e l'assegnazione di variabile alla riga 2. Osserva l'espressione '$(date +%Y%m%d)'. Se esegui lo script noterai che lancia il comando incluso tra le parentesi, catturando il suo output.

Osserva che in questo script, il nome del file di output sarà diverso ogni giorno, a causa dell'opzione di formattazione del comando date (+%Y%m%d). Puoi cambiarlo specificando una differente formattazione.

Altri esempi:

echo ls

echo $(ls)

5.3 Variabili locali

Le variabili locali possono essere create utilizzando la keyword local.

                #!/bin/bash
                HELLO=Hello 
                function hello {
                        local HELLO=World
                        echo $HELLO
                }
                echo $HELLO
                hello
                echo $HELLO
        

Questo esempio dovrebbe essere sufficiente a mostrarti come utilizzare una variabile locale.


Avanti Indietro Indice

Hosting by: hurra.com
Generated: 2007-01-26 17:56:18