我一直在寻找在变量路径中迭代文件的最佳方法,并遇到了这个问题。
但是,这个和我发现的所有其他解决方案都使用文字路径而不是变量,我相信这是我的问题。
for file in "${path}/*"
do
echo "INFO - Checking $file"
[[ -e "$file" ]] || continue
done
Run Code Online (Sandbox Code Playgroud)
即使目录中肯定有文件(如果我将文字路径之一放在${path}我得到预期结果的位置),这总是只迭代一次,并且 $file 的值始终是${path}/*没有任何通配符的文字值.
我究竟做错了什么?
shell 中的引号(单引号和双引号)内不会发生全局扩展。
您应该使用此代码:
for file in "$path"/*; do
echo "INFO - Checking $file"
[[ -e $file ]] || continue
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |