迭代可变路径中的文件 (Bash)

Iterate Over Files in Variable Path (Bash)

我正在寻找在变量路径中查找迭代文件的最佳方法,并遇到了 this 问题。

但是,这个和我找到的所有其他解决方案都使用文字路径而不是变量,我相信这是我的问题。

for file in "${path}/*"
do
     echo "INFO - Checking $file"
     [[ -e "$file" ]] || continue
done

即使目录中肯定有文件(如果我将文字路径之一放在 ${path} 的位置我会得到预期的结果),这总是只迭代一次,并且 $ 的值file 始终是 ${path}/* 的字面值,没有任何通配符。

我做错了什么?

shell.

中的引号(单引号和双引号)内不会发生全局扩展

您应该使用此代码:

for file in "$path"/*; do
     echo "INFO - Checking $file"
     [[ -e $file ]] || continue
done