Linux脚本,用于目录的文件

时间:2015-11-28 16:02:47

标签: linux shell scripting

我需要做一个shell脚本,它将一些参数放在目录中的文件上面。

我正在使用像

这样的东西
for f in *.tmp
do
        echo  $f
        sleep 5
done

我的问题是,在执行for期间,目录中的文件数可能会发生变化。并且for仅适用于首次执行时列出的文件。

任何想法? 非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以将文件存储在数组中

files=(*.tmp)

然后使用无限循环,并在满足条件时突破:

i=0
while true; do
    do_something with "${files[i]}"
    current_files=(*.tmp)
    magic_handwaving -- some code to compare "files" with "current_files" \
        that will append new files to "files"
    (( ++i == ${#files[@]} )) && break
done
echo all files processed