如何在变量中存储通配符

如何在变量中存储通配符

我有以下代码:

target="file.txt"
ls "$target"

输出:

file.txt

这不适用于通配符:

target="*"
ls "$target"

输出:

ls: cannot access '*': No such file or directory

问题是它被引号括起来。它正在做ls '*'而不是ls *.

答案1

当您引用 时$target,您是在告诉 shell 不要扩展通配符。尝试去掉引号:

target="*"
ls $target

你会得到一个目录列表。

那么还有哪些其他的值target呢?可能有空格吗?问号?您希望他们受到怎样的对待?

相关内容