неа! :-|
Тока так
x=0; inotifywait -e modify /tmp --format "%w%f" -q -m | while read i; do if [ "$x" -eq 0 ]; then clamscan $i; ((x++)); fi; done;
Забавные результаты:
# x=0; inotifywait -e modify /tmp --format "%w%f" -q -m | while read i; do ((x++)); echo "COUNT = $x "; done;
# dd if=/dev/urandom of=/tmp/test count=1 bs=1
выдаёт
COUNT = 1
COUNT = 2
# dd if=/dev/urandom of=/tmp/test count=1 bs=100
COUNT = 1
COUNT = 2
# dd if=/dev/urandom of=/tmp/test count=100 bs=1
COUNT = 1
COUNT = 2
...
...
COUNT = 100
COUNT = 101
# dd if=/dev/urandom of=/tmp/test count=100 bs=1
COUNT = 1
COUNT = 2
...
...
COUNT = 33
COUNT = 34
Ну в общем ясно, dd использует write() count раз, а COUNT - это сколько inotifywait успеет поймать, и ждет пока тело while отработает.
Так что, лучше наверно использовать inotifywait -e close
|