行为我在bash中不明白

Die*_*anz 8 bash

我有一个包含3个虚拟文件的文件夹:ab0,ab1和ab2.

$ echo ab*
ab0 ab1 ab2

$ myvariable=ab*
$ echo $myvariable
ab0 ab1 ab2

$ echo 'ab*'
ab*
Run Code Online (Sandbox Code Playgroud)

到目前为止,我想我明白了.但:

$ myvariable='ab*'
$ echo $myvariable
ab0 ab1 ab2
Run Code Online (Sandbox Code Playgroud)

我在期待ab*.这意味着有一个基本的我不明白.

我一直在寻找单引号和双引号,扩展以及更多的bash教程和手册,但我还没有得到它.

And*_*nko 7

线$ echo $myvariable是由第一内容代解析$myvariable成线,然后运行该线.因此,当bash解析该行时,它看起来像$ echo ab*.

如果你$ echo "$myvariable",你会得到你想要的行为.