当变量在双引号中时,如何防止 bash 返回通配符?

how to prevent bash from returning wildcard when variable is in double quotes?

这里第二个变量不是找到的目录而是搜索模式。如何防止这种行为?

mkdir -p mytestdir001
for f in "mytestdir???"; do
  echo $f
  echo "$f"
done

结果:

mytestdir001
mytestdir???

您误解了问题。问题是你引用了 通配符 而你不应该引用。

mkdir -p mytestdir001
for f in "mytestdir"???; do
  echo $f
  echo "$f"
done