我有一个包含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教程和手册,但我还没有得到它.
线$ echo $myvariable是由第一内容代解析$myvariable成线,然后运行该线.因此,当bash解析该行时,它看起来像$ echo ab*.
如果你$ echo "$myvariable",你会得到你想要的行为.