inotifywait
из inotify-tools
- это то, что вам нужно (по крайней мере, на вид). Строка, подобная этой, сделает тот же самый трюк, для которого предназначен ваш скрипт:
inotifywait -e create --timeout 240 "${some_path}/file.txt" && { cleanup_function; exit ; }
с разницей inotifywait
работает на основе событий, поэтому не требуется опрос или сон.