Я немного сбит с толку и удивлен, но я просто случайно нажал на клавиатуру и набрал:
*******************************************
на что мой bash Ubuntu 22 ответил:
me@pc:~$ *******************************************
boost_1_69_0: command not found
Я пробовал с разным количеством, *
но результат тот же.
решение1
Посмотрите ls -l
, и вы увидите «boost_1_69_0» в списке как первый алфавитный файл или каталог.
Количество * не имеет значения. bash видит подстановочные знаки и пытается выполнить их для всего содержимого вашего активного каталога, а затем обнаруживает, что не может их осмыслить.
У меня "bin" стоит на первом месте, и он будет жаловаться на "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>
Используйте set -x
, если вам нужна более подробная информация о происходящем ( set +x
чтобы отменить ее).
О, и это становится странным, если вы сделали:
./*
и иметь это внутри "1":
rinzwind@schijfwereld:/discworld/tmp$ cat 1
#!/bin/bash
rinzwind@schijfwereld:/discworld/tmp$ ./*
rinzwind@schijfwereld:/discworld/tmp$
и он его выполнит ;)