1

ディレクトリ内の一連のファイルをバッチでループし、ディレクトリが空になったら終了します。

$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

何か案は?

4

1 に答える 1

2

私はあなたができると思います:

#!/bin/bash
# ...
while (ls foo/* &> /dev/null); do myprog; sleep 1; done

foo/* に一致するものがない場合 (ディレクトリ foo に可視ファイルがない場合)、ls失敗します。&> /dev/null はls黙っています。

于 2010-03-25T19:36:25.707 に答える