Nel libro “A guide to aix 3.2”, si dice che si può usare il comando Korn Shell set -f per “disabilitare la generazione dei nomi dei file”, ma cosa significa?
Cosa succede con set -f ?
Risposta accettata:
set -f è il modo portatile (cioè POSIX) per disabilitare l'espansione del nome file.
Quando abilitato (per impostazione predefinita o con set +f ), l'espansione del nome del file è un'operazione eseguita dalla shell che sostituisce, quando possibile, gli argomenti della riga di comando contenenti:
- presenza di caratteri jolly (
?=ogni singolo carattere e*=qualsiasi numero di caratteri) - intervalli racchiusi tra parentesi quadre (ad es.
[a-z12]=qualsiasi carattere daaazo1o2) - elenchi non corrispondenti (ad es.
[^a-z]=qualsiasi carattere non compreso nell'intervalloaaz) - e classi di caratteri (ad es.
[[:xdigit:]]=qualsiasi carattere che può essere utilizzato per rappresentare un numero esadecimale)
dai nomi di file che li corrispondono.
Se disabilitati, questi argomenti rimangono invariati.
$ pwd
/etc/samba
$ echo *
lmhosts smb.conf
$ echo *o??
smb.conf
$ set -f
$ echo *
*
$ echo *o??
*o??