【发布时间】:2011-01-31 21:40:33
【问题描述】:
我想批量循环一个目录中的一系列文件,然后目录为空时退出。
在 $work 'myprog' 实际上是一个程序,它在 Maildir 中以 100 个批次处理(和存档)传入的电子邮件。
我追求一些可以放入 cron 的简单东西。
#!/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
有什么想法吗?
【问题讨论】:
-
你可以在大括号扩展中做范围:
{1..4} -
甚至更好的是,您可以便携并使用适当的通配符
file_[1234]。 :)
标签: bash loops while-loop exit