Isso seria:
until [ -e filename.txt ]; do
./Server
done
O mesmo que:
while [ ! -e filename.txt ]; do
./Server
done
Se no Linux, você também pode:
while true; do
# wait for filename.txt to be removed if it's there:
inotifywait -qe DELETE_SELF filename.txt 2> /dev/null
./Server
done
Para impedir que Server
seja iniciado enquanto o arquivo estiver lá, mas comece novamente assim que ele for removido.
Se você for o administrador da máquina, faria mais sentido adicioná-la como um serviço manipulado pelo seu sistema de inicialização que cuidaria de daemonizar corretamente, reiniciar (respawn) na saída inesperada, se necessário, etc. , você faria service whatever stop
antes da edição e start
depois.