Le variabili vengono utilizzate per memorizzare valori di diverso tipo durante l'esecuzione del programma. Esistono due tipi di variabili nello scripting Bash: globali e locali.
Le variabili globali possono essere utilizzate da tutti gli script Bash sul tuo sistema, mentre le variabili locali possono essere utilizzate solo all'interno dello script (o della shell) in cui sono definite.
Le variabili globali sono generalmente fornite sul sistema per impostazione predefinita e sono principalmente variabili di ambiente e di configurazione. Le variabili locali, d'altra parte, sono definite dall'utente e hanno usi arbitrari.
Bash variabili locali
Per creare una variabile, devi assegnare un valore al nome della tua variabile. Bash è un linguaggio non tipizzato, quindi non è necessario indicare un tipo di dati quando si definiscono le variabili.
var1=Ciao
Bash consente anche più assegnazioni su una singola riga:
a=6 b=8 c=9
Proprio come molti altri linguaggi di programmazione, Bash usa l'operatore di assegnazione
= per assegnare valori alle variabili. È importante notare che non dovrebbero esserci spazi su entrambi i lati dell'operatore di assegnazione. In caso contrario, riceverai un errore di compilazione.Imparentato: Cosa significa "Bash" in Linux?
Un altro punto chiave da notare: Bash non ti consente di definire prima una variabile e poi di assegnarle un valore in seguito. È necessario assegnare un valore alla variabile al momento della creazione.
var2 # errore di compilazione
var2=Mondo
A volte, potrebbe essere necessario assegnare una stringa che contiene uno spazio alla variabile. In tal caso, racchiudere la stringa tra virgolette.
# var3=Ciao mondo
# l'assegnazione sopra non funziona
var3='Ciao mondo'
Notare l'uso di virgolette singole. Queste virgolette sono anche chiamate "virgolette forti" perché assegnano il valore esattamente come è scritto, indipendentemente da eventuali caratteri speciali.
Nell'esempio sopra, avresti potuto anche usare le virgolette doppie ("virgolette deboli"), anche se questo non significa che possano sempre essere usate in modo intercambiabile. Questo perché le doppie virgolette sostituiranno i caratteri speciali (come quelli con $), invece di interpretarli letteralmente.
Vedi l'esempio qui sotto:
var4=89
echo "Il numero è $var4"
echo 'Il numero è $var4'
# Stampe del primo output: 89
# La stampa del secondo output lascia "$var4" così com'è
Se vuoi assegnare un output della riga di comando alla tua variabile, usa backquotes (``). Tratteranno la stringa racchiusa in essi come un comando da terminale e restituiranno il suo risultato.
var5="Attualmente stai lavorando in questa directory: `pwd`"
Espansione dei parametri in Bash
L'espansione del parametro si riferisce semplicemente all'accesso al valore di una variabile. Nella sua forma più semplice, usa il carattere speciale $ seguito dal nome della variabile (senza spazi intermedi):
var6=Jack
echo Mi chiamo $var6
Puoi anche usare la sintassi ${nomevariabile} per accedere al valore di una variabile. Questa forma è più adatta quando può sorgere confusione sul nome della variabile.
m=med
echo Med sta per ${m}ical
Se escludi le parentesi graffe, ${m}ical verrà interpretato come una variabile composta (che non esiste). Questo uso di parentesi graffe con variabili è noto come "sostituzione".
Variabili globali
Come accennato in precedenza, il tuo sistema Linux ha alcune variabili integrate a cui è possibile accedere in tutti i tuoi script (o shell). È possibile accedere a queste variabili utilizzando la stessa sintassi delle variabili locali.
Imparentato: Come creare ed eseguire script Bash in Linux
La maggior parte di queste variabili sono in BLOCCO. Tuttavia, alcuni sono caratteri singoli che non sono nemmeno caratteri alfanumerici.
Ecco alcune variabili globali utili comuni:
CASA: fornisce la home directory dell'utente
CONCHIGLIA:Fornisce il tipo di shell che stai utilizzando (ad es. Bash, csh..etc)
?: Fornisce lo stato di uscita del comando precedente
Per ottenere un elenco di variabili globali sul tuo sistema, esegui il file printenv (o env) comando:
$ printenv
Cicli negli script Bash
Ora sai cosa sono le variabili, come assegnarle e come eseguire la logica Bash di base usandole.
I loop ti consentono di scorrere più istruzioni. Bash accontenta per loop e mentre loop con una semplice sintassi per tutte le tue esigenze di loop.
Se stai padroneggiando l'arte dello sviluppo di Bash, per i loop dovrebbero essere i prossimi nella tua lista.
Perché eseguire lo stesso codice ancora e ancora nello script della shell quando puoi fare in modo che un ciclo for lo faccia per te?
Leggi Avanti
- Programmazione
- Linux Bash Shell
- Suggerimenti per la codifica
Jerome è uno staff writer di MakeUseOf. Si occupa di articoli su programmazione e Linux. È anche un appassionato di criptovalute e tiene sempre d'occhio l'industria delle criptovalute.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti