Se o seu sistema tiver inotifywait (a maioria das distribuições Linux, OpenBSD e possivelmente outras), como outros mencionaram a abordagem menos intensiva de recursos é usar inotifywait :
rm -f yourdirectory/start
while [ "$(inotifywait -e create -q --format %f yourdirectory)" != "start" ]; do :; done
yourcommand
Isso garantirá que o arquivo start seja removido de yourdirectory , aguarde sua criação e execute yourcommand . -e create especifica que estamos interessados apenas em eventos de criação, -q especifica que não queremos mensagens de diagnóstico de inotifywait e --format %f especifica que só queremos ver o nome do arquivo criado na saída .
Se você não tiver inotifywait , o seguinte também funcionará, com um atraso de no máximo um segundo:
rm -f yourdirectory/start
while [ ! -e yourdirectory/start ]; do sleep 1; done
yourcommand