Siti, blog e web hosting gratis Crea sito web
Valid HTML 4.01 Transitional

Home INTRO Variabili Output Aritmetica Selezioni Ripetizioni Test Funzioni

 

Generalita' Comandi Programmazione Manuale Zenity Free Script

 

 

CSS Valido!

 

 

Informazioni   Corso Linux - Sezione Programmazione - Capitolo Variabili

Variabili, substition, posizionali, di sistema e dell'utente

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)

nome_variabile="un'altra cosa"
( usati delimitatori " per non confonderli l'apostrofo nella frase )
nome_variabile="questa e' \"un'altra\" cosa"
( \" nella frase per per non confonderle con i delimitatori. \ e' il metacarattere "escape" )

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

a=`ls` ( ` "apice inverso" si ottiene premendo AltGr+' )
assegna alla variabile a l'elenco dei file della directory corrente ottenuto con il comando ls
La substition puo' anche essere ottenuta scrivendo a=$(ls)
Altri tipi di substition relative ai file e directory sono i metacaratteri * e ?:
ls a* (visualizza tutti ifile che iniziano con a
ls a?report (visualizza tutti i file che iniziano con a, proseguono con un carattere qualsiasi e terminano con report.

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:

utente@UBUNTU81:~$ ./prova "parametro 1" "parametro 2" "parametro 3"
nome dello script: ./prova - N. parametri passati 3 - valori parametri:' parametro 1 parametro 2 parametro 3 ' - valore parametro 2: parametro 2

./prova: line 3: lst: command not found
risultato comando lst: 127

abcd
risultato comando echo 'abcd': 0

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

 

Copyright ©2009 Ciro Nuzzo - proglinux.altervista.org