bash コマンドとしてアスタリスクまたはアスタリスクの行を使用すると、「boost_1_69_0: command not found」が返されるのはなぜですか?

bash コマンドとしてアスタリスクまたはアスタリスクの行を使用すると、「boost_1_69_0: command not found」が返されるのはなぜですか?

私は少し混乱していて面白いのですが、誤ってキーボードを押して次のように入力しただけです。

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

私のUbuntu 22 bashは次のように返しました:

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

複数の量で試してみました*が、結果は同じでした。

答え1

確認するls -lと、リスト内のアルファベット順の最初のファイルまたはディレクトリとして「boost_1_69_0」が表示されます。

* の数は関係ありません。bash はワイルドカードを認識し、アクティブ ディレクトリのすべてのコンテンツに対してそれを実行しようとしますが、意味をなさないことがわかります。

1 番目に「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 -xset +x元に戻す場合)。

ああ、もしあなたがこうしていたら、これはファンキーになります:

./*

そして「1」の中にこれを入れます:

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

そして実行されます;)

関連情報