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 daa
az
o1
o2
) - elenchi non corrispondenti (ad es.
[^a-z]
=qualsiasi carattere non compreso nell'intervalloa
az
) - 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??