GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo se interpreta el comodín * como un comando?

Sé cómo * se interpreta en comandos como ls por ejemplo. Pero al intentar ejecutar * como comando, el shell intenta ejecutar el primer archivo o directorio en su directorio de trabajo. ¿Por qué es esto? ¿Cómo entiende el shell * ?

Respuesta aceptada:

A diferencia de otros sistemas operativos, en Unixes, es el shell el que expande los comodines de nombre de archivo. Expande las expansiones de parámetros y los globos primero, luego usa la primera palabra (ahora) como el nombre para ejecutar el comando.

Esta es también la razón por la cual los archivos nombrados con un guión inicial pueden ser problemáticos:un globo como * se expandirá a los nombres de los archivos, y se puede tomar como opción un nombre que comience con un guión. (El ejemplo aterrador es que un archivo llamado -r en el directorio de trabajo haría rm * eliminar todo recursivamente...)

Por lo general, uno no usaría * como el primer elemento en cualquier línea de comando, por lo que es poco probable que el hecho de que el primer archivo determine el comando que se ejecutará en ese caso cause problemas.


Linux
  1. Cómo usar el comando grep de Linux

  2. Cómo usar el comando de historial en Linux

  3. Cómo funciona el comando de depuración oc en OpenShift

  4. ¿Cómo cambiar rápidamente la primera palabra en un comando Bash?

  5. ¿Cómo capturar la primera dirección IP de un comando ifconfig?

Cómo usar el comando superior en Linux

Cómo usar el comando ping de Linux

Cómo usar el comando nmap

Cómo personalizar el comando superior de Linux

Cómo usar el comando fd en el sistema Linux

¿Cómo usar el comando wget en Linux?