GNU/Linux >> Tutoriels Linux >  >> Linux

Que fait « set -f » dans Korn Shell ?

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 de a à z , ou 1 ou 2 )
  • listes non correspondantes (par exemple, [^a-z] =tout caractère non compris dans la plage a à 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??

Linux
  1. Que signifie `:-` dans un script shell ?

  2. Qu'est-ce que c'est ?

  3. Que fait Exec 3 ?

  4. Que fait exactement Grub_gfxpayload_linux=text ?

  5. Que fait % dans les chaînes du shell Linux ?

Qu'est-ce que le Shell sous Linux ?

Qu'est-ce que cela signifie d'être "compatible sh" ?

Qu'est-ce que le shell de connexion sous Linux ?

Que signifie [email protected] dans un script shell ?

Qu'est-ce qu'un fichier .sh ?

Quelqu'un peut-il expliquer en détail ce que fait set -m ?