Salve salve,

Estou iniciando no "shell script" e gostaria de tirar uma duvida.
Tenho um script em Python que preciso que seja executado 24/7.
Porem de tempos em tempos ele me retorna um erro qualquer que por enquanto nao tenho tempo de arrumar.

Depois de quebrar a cabeça, fiz um script forkeia o output pra um .txt e sempre que aparecer a palavra "331" ele reinicia o script.
Mas, pelo que vi, não está 100%.

Pesquisando, vi que talvez posso usar o until, e falar pro programa ficar rodando de boas e quando a saida de comando foi diferente de 0 ele reinicia o script, MAS nao sei como fazer corretamente.

Segue como fiz o atual shell script pra monitorar e reinicar o script em python:

Código :
#!/bin/sh
 
 
 echo "Starting Script"
 while true
 do
 python main.py | tee -a output.txt | grep "331" | head -n 1 # run until first line with 331 occurs
 echo "Restarting script..."
 done

sabem aonde posso melhorar?