我想批量循环遍历目录中的一系列文件,然后在目录为空时退出。
$ work'myprog'实际上是一个程序,它以100个批量处理(并存档)Maildir中的传入电子邮件。
我追求的是一些简单易懂的东西。
#!/bin/bash
# Setup
mkdir -p foo && touch foo/file_{1,2,3,4}.txt
alias myprog='f=`ls foo/file_*.txt | head -n1`; rm -v $f'
# Loop and then exit ?!
# This line to go into cron.
while (ls foo); do ls foo/ | wc -l; myprog; sleep 1; done
有什么想法吗?
答案 0 :(得分:2)
我想你可以这样做:
#!/bin/bash
# ...
while (ls foo/* &> /dev/null); do myprog; sleep 1; done
如果没有匹配foo / *(如果目录foo中没有可见文件),ls
将失败。 &安培;> / dev / null使ls
保持安静。