Dans le livre "A guide to aix 3.2", il est dit que l'on peut utiliser la commande Korn Shell set -f
pour "désactiver la génération de nom de fichier", mais qu'est-ce que cela signifie ?
Que se passe-t-il avec set -f
?
Réponse acceptée :
set -f
est le moyen portable (c'est-à-dire POSIX) de désactiver l'expansion du nom de fichier.
Lorsqu'il est activé (par défaut ou avec set +f
), l'expansion du nom de fichier est une opération effectuée par le shell qui remplace, lorsque cela est possible, les arguments de la ligne de commande contenant :
- Occurrences de caractères génériques (
?
=n'importe quel caractère unique et*
=n'importe quel nombre de caractères) - plages entre crochets (par exemple
[a-z12]
=n'importe quel caractère dea
àz
, ou1
ou2
) - listes non correspondantes (par exemple,
[^a-z]
=tout caractère non compris dans la plagea
àz
) - et classes de caractères (par exemple
[[:xdigit:]]
=tout caractère pouvant être utilisé pour représenter un nombre hexadécimal)
par les noms de fichiers qui leur correspondent.
Lorsqu'ils sont désactivés, ces arguments restent inchangés.
$ pwd
/etc/samba
$ echo *
lmhosts smb.conf
$ echo *o??
smb.conf
$ set -f
$ echo *
*
$ echo *o??
*o??