GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué hace "set -f" en Korn Shell?

En el libro “Una guía para aix 3.2”, dice que uno puede usar el comando Korn Shell set -f para "deshabilitar la generación de nombre de archivo", pero ¿qué significa?

Qué sucede con set -f ?

Respuesta aceptada:

set -f es la forma portátil (es decir, POSIX) de deshabilitar la expansión del nombre de archivo.

Cuando está habilitado (por defecto o con set +f ), la expansión del nombre de archivo es una operación realizada por el shell que reemplaza, cuando es posible, los argumentos de la línea de comandos que contienen:

  • ocurrencias de comodines (? =cualquier carácter único y * =cualquier número de caracteres)
  • rango encerrado entre corchetes (por ejemplo, [a-z12] =cualquier caracter de a a z , o 1 o 2 )
  • listas que no coinciden (por ejemplo, [^a-z] =cualquier carácter que no esté en el rango a a z )
  • y clases de caracteres (por ejemplo, [[:xdigit:]] =cualquier carácter que se pueda usar para representar un número hexadecimal)

por los nombres de archivo que coincidan con ellos.

Cuando está deshabilitado, estos argumentos no se modifican.

$ pwd
/etc/samba
$ echo *
lmhosts smb.conf
$ echo *o??
smb.conf
$ set -f
$ echo *
*
$ echo *o??
*o??

Linux
  1. ¿Qué hace “lc_all=c”?

  2. ¿Qué significa `:-` en un script de Shell?

  3. ¿Qué hace Exec 3?

  4. ¿Qué hace kill -- -0?

  5. ¿Qué hace 'set -e' y por qué podría considerarse peligroso?

¿Qué es el Shell en Linux?

¿Qué significa ser "sh compatible"?

¿Qué es Login Shell en Linux?

¿Qué es un archivo .sh?

¿Qué hace % en las cadenas de shell de Linux?

¿Alguien puede explicar en detalle qué hace set -m?