A resposta aceita realmente funciona (graças ao maxschlepzig), mas deixa o monitoramento inotifywait em segundo plano até que o script saia. A única resposta que corresponde exatamente seus requisitos (ou seja, aguardar o sleep.txt aparecer em / tmp) parece ser de Stephane, se o diretório a ser monitorado pelo inotifywait for alterado de ponto (.) Para '/ tmp'.
No entanto, se você estiver disposto a usar SOMENTE um diretório temporário para colocar seu sinalizador sleep.txt e puder apostar que ninguém mais colocará nenhum arquivo nesse diretório, basta pedir à inotifywait que observe este diretório para criar criações de arquivos:
1º passo: crie o diretório que você irá monitorar:
directoryToPutSleepFile=$(mktemp -d)
2º passo: verifique se o diretório está realmente lá
until [ -d $directoryToPutSleepFile ]; do sleep 0.1; done
3º passo: aguarde até que QUALQUER arquivo apareça dentro $directoryToPutSleepFile
inotifywait -e create --format '%f' --quiet $directoryToPutSleepFile
O arquivo que você $directoryToPutSleepFile
inserirá pode ter o nome sleep.txt awake.txt, qualquer que seja. O momento em que qualquer arquivo é criado dentro do $directoryToPutSleepFile
seu script continuará além da inotifywait
declaração.
$MAILPATH
.