Caratteri jolly della shell

on venerdì 15 maggio 2015

La shell è in grado di confrontare semplici modelli con i file nella directory di lavoro corrente. Il più semplice è l'asterisco (*), che indica un confronto con qualsiasi numero di caratteri arbitrari. Ad esempio, il comando seguente stampa un elenco dei file della directory seguente:



echo *



Dopo aver confrontato i file con i caratteri jolly, la shell sostituisce i nomi di file con il carattere jolly nella riga di comando e quindi esegue la riga di comando modificata. Ecco alcuni esempi di caratteri jolly: at* confronta tutti i file che contengono at. Se nessun file corrisponde a un carattere jolly, la shell non effettua alcuna sostituzione e il comando viene eseguito con caratteri letteri quali * (ad esempio, provato un comando come echo *dfkdsafh).





Se siete abituati ad utilizzare MS-DOS, potreste digitare istintivamente *.* come carattere jolly per confrontare tutti i file. Perdete subito questa abitudine. In linux e altri versioni di Unix dovete utilizzare * per confrontare tutti i file. Nella shell Unix *.* confronta solo i file e le directory contenuti di carattere (.) nel nome. I nomi di file Unix non hanno bisogno di e spesso non le contengono.



Un altro carattere jolly della shell è il punto interrogativo (?), che chiede alla shell di confrontare un solo carattere arbitario. Ad esempio, b?at corrisponde a boat e brat.



Se non desiderate che la shell espanda un carattere jolly in un comando, racchiudetelo tra apostrofi (''), Ad esempio, il comando echo '*' stampa un asterisco.



Quindi in sostanza quando si usa la shell ricordatevi che * e ? sono dei caratteri jolly più utili da conoscere.

0 commenti:

Posta un commento