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