O problema é que o comando message.sh
nunca é iniciado. O shell primeiro precisa avaliar o comando $(...)
para passar o resultado como argumentos, mas você está usando tailf
que nunca termina. Compare com isso:
ls $(echo hello;sleep 10) & sleep 1; ps
O ps
mostrará que ls
não foi iniciado e só obterá o hello
arg quando o sleep 10
terminar e a $()
terminar.