Desidero dedicare un paragrafo di questa guida ai caratteri speciali, ovvero a quei caratteri che hanno un comportamento anomalo allโinterno di uno script in quanto ad essi รจ assegnato, di default, una specifica funzione ulteriore alla loro semplice rappresentazione.
Primo carattere da considerare in questa sede รจ lโasterisco (*) anche detto wildcards. Proviamo a digitare quanto segue:
echo *
Ci accorgeremo subito che il risultato non sarร la stampa a video del simbolo asterisco, bensรฌ lโelencazione sequenziale di tutti i file presenti nella directory. Perchรจ? Semplice, lโasterisco (anche detto wildcards) รจ un carattere jolly e viene interpretato dal sistema operativo come identificazione generica di un indeterminato numero di file.
Se avessimo scritto:
echo *.jpg
Sarebbero stati stampati a video i nomi di tutti i file .jpg della directory.
Se avessimo scritto:
echo foto_*.jpg
Sarebbero stati stampati a video i nomi di file coincidenti, ad es.: foto_mario.jpg foto_lucia.jpg foto_mary.jpg e cosรฌ via.Ma cosa fare per stampare a video lโasterisco (senza che questo venga interpretato come wildcards)? Sempliceโฆ mettiamolo tra virgolette:
echo "*"
Altri caratteri particolari da prendere in considerazione sono le virgolette (โ), il simbolo del dollaro ($), il backslash (\) ed il backtick (`).
Tutti questi caratteri, se utilizzati senza le opportune precauzioni, verranno interpretati dal sistema operativoโฆ
Perchรจ vengano semplicemente stampati a video sarร necessario e sufficiente farli precedere dal carattere di escape (una backslash).
Ricapitolando:
#Utilizzo errato
echo "voglio stampare: " $ \ `"
#Utilizzo corretto
echo "voglio stampare: \" \$ \\ \`"
Solo nel secondo caso i nostri simboli speciali saranno stampati a video correttamenteโฆ