Amarakon Asked: 2022-06-25 12:48:37 +0800 CST2022-06-25 12:48:37 +0800 CST 2022-06-25 12:48:37 +0800 CST 如何将通配符存储在变量中 772 我有以下代码: target="file.txt" ls "$target" 输出: file.txt 这不适用于通配符: target="*" ls "$target" 输出: ls: cannot access '*': No such file or directory 问题是它被包裹在引号中。它正在做ls '*'而不是ls *. variable wildcards 1 个回答 Voted Best Answer dbrand666 2022-06-25T13:21:34+08:002022-06-25T13:21:34+08:00 当您引用 时$target,您是在告诉 shell 不要扩展通配符。试着去掉引号: target="*" ls $target 你会得到一个目录列表。 但是可能还有哪些其他值target?可能有空格吗?问号?你希望他们受到怎样的对待?
当您引用 时
$target
,您是在告诉 shell 不要扩展通配符。试着去掉引号:你会得到一个目录列表。
但是可能还有哪些其他值
target
?可能有空格吗?问号?你希望他们受到怎样的对待?