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.
#!/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.
#!/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)
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.