Generalita' Comandi Programmazione Manuale Zenity Free Script
Corso Linux - Sezione Programmazione - Capitolo Variabili
La "variabile" e' un contenitore usato per memorizzare parole o frasi, dette "stringhe", o numeri; se devono avere sempre lo stesso valore, allora si parla di "costanti", altrimenti il suo contenuto puo' essere cambiato da programma secondo esigenza.
I nomi delle variabili e delle costanti devono iniziare con una lettera e possono contenere lettere, cifre o il carattere underscore "_"; se la variabile deve contenere una frase, occorre racchiudere quest'ultima tra delimitatori, che possono essere "(virgolette doppie) o ' (semplici)
Per visualizzarne il contenuto della variabile appena definita, daremo il comando:
echo $nome_variabile (il simbolo $ dice alla Bash di sostituire il nome della variabile con il suo valore).
Si possono definire variabili di tipo "array"
a=(1 2 3 4 5) oppure a=(mela "mela granata" 'pera') --- senza spazi vicino alle parentesi ---
con echo ${a[1]} visualizzeremo mela granata (le posizioni interne all'array partono da 0)
con echo ${#a[*]} visualizzeremo il numero totale dei componenti dell'array
con echo $a visualizzeremo il primo elemento dell'array ( equivalente a echo ${a[0]} )
con unset nome_variabile o nome_array eliminiamo la variabile o l'array
Le "substition" fanno sostituire alla Shell il valore della variabile con i risultati di un comando
Quando lanciamo uno script (file di testo con #!/bin/bash sulla prima riga e una serie di comandi sulle successive ) possiamo passargli dei parametri che vengono associati dallo script come "variabili posizionali", ossia che il primo parametro viene associato a $1, il secondo a $2 e cosi' via; $0 indica il nome dello script, $# il numero totale dei parametri passati, $* contiene tutti i parametri passati e $? lo stato d'uscita di un comando ( 0 se eseguito senza errori ).
Scriviamo il file prova:
#!/bin/bash
echo -e "nome dello script: $0 - N. parametri passati $# - valori parametri:' $* ' - valore parametro 2: $2 \n"
lst
echo -e "risultato comando lst: $? \n"
echo 'abcd'
echo "risultato comando echo 'abcd': $?"
e diamo i seguenti comandi:
chmod +x prova ( per rendere eseguibile lo script)
./prova "parametro 1" "parametro 2" "parametro 3" e vediamo il risultato:
Le "variabili di sistema" sono quelle che il sistema usa per inizializzare l'ambiente di lavoro. Ad esempio
PATH (ELENCO DIRECTORY DOVE TROVARE I COMANDI), HOME (PERCORSO DIRECTORY DELL'UTENTE ATTUALE)...
Tali variabili devono essere scritte in maiuscolo e sono visualizzabili con il comando
echo $NOME_VARIABILE
Le "variabili utente" sono quelle definite da noi