Ejecutando commands después del símbolo de ampersand y en una session ssh remota

Tengo un script de shell que inicia un command largo y con muchos resources en varias máquinas diferentes.

Para ejecutar la secuencia de commands en cada máquina en paralelo, tengo un símbolo de ampersand después de cada command remoto en el for-loop.

initialize-cluster.sh :

 while read host; do ssh -f "$host" \"/home/user/allocate.sh\" & done < ~/cluster 

Sin embargo, como consecuencia, no obtengo el post de shell nuevamente al final del for-loop. Esto me impide ejecutar otros scripts después de initialize-cluster.sh ha terminado de ejecutar allocate.sh en todas las máquinas.

Por ejemplo, quiero poder ejecutar un command como:

 ./initalize-cluster.sh && ./execute-something-else.sh 

Sin embargo, actualmente initialize-cluster nunca "termina".

Me gustaría que los commands posteriores se ejecuten solo después de que todos los scripts allocate.sh terminen en las máquinas remotas.

Solutions Collecting From Web of "Ejecutando commands después del símbolo de ampersand y en una session ssh remota"