<Precedenti | Contenuti | Succ.>
Personaggi in fuga
A volte vogliamo citare solo un singolo carattere. Per fare ciò, possiamo far precedere un carattere da una barra rovesciata, che in questo contesto è chiamata carattere di fugaSpesso questo viene fatto tra virgolette doppie per impedire selettivamente un'espansione:
[io@linuxbox~]$ echo "Il saldo per l'utente $USER è: \$5.00"
Il saldo per l'utente me è: $ 5.00
[io@linuxbox~]$ echo "Il saldo per l'utente $USER è: \$5.00"
Il saldo per l'utente me è: $ 5.00
È anche comune usare l'escape per eliminare il significato speciale di un carattere in un nome di file. Ad esempio, è possibile utilizzare nei nomi di file caratteri che normalmente hanno un significato speciale per la shell. Questi includono "$", "!", "&", " " e altri. Per includere un carattere speciale in un nome di file, è possibile procedere come segue:
[io@linuxbox~]$ mv cattivo\&nomefile buono_nomefile
[io@linuxbox~]$ mv cattivo\&nomefile buono_nomefile
Per consentire la visualizzazione di un carattere barra rovesciata, eseguirne l'escape digitando "\\". Tieni presente che tra virgolette singole, la barra rovesciata perde il suo significato speciale e viene trattata come un carattere normale.
Sequenze di escape con barra rovesciata
Oltre al suo ruolo di carattere di escape, la barra rovesciata viene anche utilizzata come parte di una notazione per rappresentare determinati caratteri speciali chiamati codici di controlloI primi 32 caratteri dello schema di codifica ASCII vengono utilizzati per trasmettere comandi a dispositivi simili a telescriventi. Alcuni di questi codici sono familiari (tab, backspace, avanzamento riga e ritorno a capo), mentre altri non lo sono (null, fine trasmissione e conferma).
Sequenza di fuga | Significato |
\a | Campanello ("Avviso" - fa emettere un segnale acustico al computer) |
\b | Backspace |
\n | Nuova riga. Sui sistemi Unix-like, produce un avanzamento di riga. |
\r | Ritorno del trasporto |
\t | Linguetta |
La tabella sopra elenca alcune delle sequenze di escape con barra rovesciata più comuni. L'idea alla base di questa rappresentazione con barra rovesciata ha avuto origine nel linguaggio di programmazione C ed è stata adottata da molti altri linguaggi, inclusa la shell.
Aggiungere l'opzione "-e" a eco consentirà l'interpretazione delle sequenze di escape. Puoi anche posizionarle all'interno $' '. Qui, utilizzando il sonno comando, un semplice programma che attende semplicemente il numero specificato di secondi e poi esce, possiamo creare un timer per il conto alla rovescia primitivo:
sleep 10; echo -e "Il tempo è scaduto\a"
Potremmo anche fare così:
sleep 10; echo "Tempo scaduto" $'\a'