Variabili negli script
Fa parte della sezione Fondamenti del percorso Terminal di Coddy. Lezione 68 di 82.
Le variabili rendono i tuoi script flessibili e riutilizzabili. Invece di inserire i valori direttamente nel codice, puoi memorizzarli in variabili e richiamarli in tutto lo script.
Per creare una variabile all'interno di uno script, usa la stessa sintassi che hai imparato per il terminale: nessuno spazio intorno al segno di uguale. Per usare il valore della variabile, anteponi al suo nome il simbolo del dollaro:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"Questo script stampa Hello, World!. Le variabili greeting e name memorizzano il testo che viene sostituito quando lo script viene eseguito.
Le variabili diventano particolarmente utili quando devi usare lo stesso valore più volte. Se fai riferimento a un percorso di file in diversi punti, salvarlo in una variabile significa che dovrai modificarlo una sola volta:
#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"Nota le virgolette intorno a "$backup_dir". Racchiudere le variabili tra virgolette doppie è una buona pratica perché gestisce correttamente i percorsi o i valori che contengono spazi. Senza virgolette, un percorso come /my documents interromperebbe il comando.
Le variabili negli script funzionano proprio come nel terminale, ma esistono solo mentre lo script è in esecuzione. Una volta terminato lo script, quelle variabili scompaiono.
Sfida
FacileCrea uno script shell chiamato intro.sh che utilizzi variabili per visualizzare un messaggio personalizzato.
Il tuo script dovrebbe:
- Iniziare con la riga shebang (
#!/bin/bash) - Creare una variabile chiamata
languagecon il valoreBash - Creare una variabile chiamata
skillcon il valorescripting - Usare
echoper stampare entrambe le variabili nel formato:Learning Bash scripting!
Rendi eseguibile lo script ed eseguilo. L'output dovrebbe essere:
Learning Bash scripting!Racchiudi ogni riga che scrivi tra apici singoli:
echo 'echo "Hello $name"' >> script.sh. Gli apici singoli impediscono alla shell di sostituire$namementre il file viene scritto, così lo script conserva la variabile e la espande quando viene eseguito. Gli apici doppi sostituirebbero immediatamente il valore.
Suggerimento: Crea lo script usando
echocon la redirezione. Ricorda di fare riferimento alle variabili con$nell'istruzione echo, come inecho "Learning $language $skill!"
Provalo tu
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Cartelle
Creare una cartellaCopiare una cartellaSpostare e rinominare una cartellaEliminare una cartellaRiepilogo - Operazioni sulle cartelle7Contenuto dei file
Head e TailConteggio delle paroleComando SortComando UniqueNozioni di base su GrepGrep con opzioniRiepilogo - Detective del testo10Progetto di analisi dei log
Panoramica del progettoVisualizzare il file di log13Basi dello scripting shell
Che cos’è uno script shellCreare ed eseguire uno scriptVariabili negli scriptInput dell’utente negli scriptIstruzione ifCiclo forCiclo whileRiepilogo: indovina il numero2Navigazione
Stampare la directory di lavoroElencare i fileCambiare directoryPercorsi assoluti e relativiDirectory home e radiceRiepilogo - Trova la tua strada5Progetto di organizzazione delle foto
Panoramica del progettoCreazione della struttura8Reindirizzamento
Uscita standardSovrascrivere un fileAccodare a un fileIngresso standardErrore standardRiepilogo - Creare un log3File
Creare un fileLeggere un fileCopiare un fileSpostare e rinominare un fileEliminare un fileRipasso: operazioni sui file6Caratteri jolly e pattern
Il carattere jolly asteriscoIl carattere jolly punto interrogativoCaratteri jolly tra parentesi quadreCombinare i caratteri jollyRiepilogo - Operazioni selettive9Pipe
Che cos'è una pipeConcatenare due comandiConcatenare più comandiPipe con grepRiepilogo - pipeline dei datiEsercitati da solo: Playground Terminal