為什麼星號或一行星號作為 bash 命令返回“boost_1_69_0:命令未找到”?

為什麼星號或一行星號作為 bash 命令返回“boost_1_69_0:命令未找到”?

我有點困惑和好笑,但我只是不小心按下鍵盤並輸入:

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

我的 Ubuntu 22 bash 返回:

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$ 

它會執行它;)

相關內容