¿Por qué un aterisk o una línea de asteriscos como comando bash devuelve "boost_1_69_0: comando no encontrado"?

¿Por qué un aterisk o una línea de asteriscos como comando bash devuelve "boost_1_69_0: comando no encontrado"?

Estoy un poco confundido y divertido, pero accidentalmente presioné mi teclado y escribí:

*******************************************

a lo que regresó mi bash de Ubuntu 22:

me@pc:~$ *******************************************
boost_1_69_0: command not found

Probé con varias cantidades *y el resultado es el mismo.

Respuesta1

Vea ls -ly verá "boost_1_69_0" en la lista como el primer archivo o directorio alfabético.

La cantidad de * no importa. bash ve los comodines e intenta ejecutarlos para todo el contenido de su directorio activo y luego descubre que no le encuentra sentido.

Tengo "bin" como el primero y me quejaré de "bin":

rinzwind@schijfwereld:~$ ls -l
total 8
drwxrwxr-x 2 rinzwind rinzwind 4096 apr 23 11:24 bin
drwx------ 5 rinzwind rinzwind 4096 apr 18 22:19 snap
rinzwind@schijfwereld:~$ *
Command 'bin' not found, did you mean:
  command 'tin' from deb tin (1:2.6.2-1build1)
  command 'ben' from deb ben (0.10.1ubuntu1)
  command 'bing' from deb bing (1.3.5-5)
  command 'bip' from deb bip (0.9.3-1)
  command 'win' from deb wily (0.13.42-1)
  command 'din' from deb din (56-1)
Try: sudo apt install <deb name>

Úselo set -xsi desea información más detallada sobre lo que está sucediendo ( set +xpara revertir eso).

Ah, y esto se vuelve raro si lo hubieras hecho:

./*

y tenga esto dentro de "1":

rinzwind@schijfwereld:/discworld/tmp$ cat 1
#!/bin/bash
rinzwind@schijfwereld:/discworld/tmp$ ./*
rinzwind@schijfwereld:/discworld/tmp$ 

y lo ejecutará ;)

información relacionada