Vous devez ajouter des parenthèses dans votre dernière version --
(sleep 2 &) && (sleep 3 &)
ou cela fonctionne aussi --
(sleep 2 &) ; (sleep 3 &)
Comment voulez-vous qu'ils fonctionnent exactement ? Si vous voulez qu'ils soient lancés en arrière-plan et exécuter séquentiellement , vous feriez quelque chose comme ceci :
{ sleep 2; sleep 3; } &
Si vous voulez sleep 3
à exécuter uniquement si sleep 2
réussit, alors :
sleep 2 && sleep 3 &
Si, en revanche, vous souhaitez qu'ils s'exécutent en parallèle en arrière-plan , vous pouvez à la place faire ceci :
sleep 2 & sleep 3 &
Et les deux techniques pourraient être combinées, telles que :
{ sleep 2; echo first finished; } & { sleep 3; echo second finished; } &
Bash étant bash, il existe souvent une multitude de techniques différentes pour accomplir la même tâche, bien que parfois avec des différences subtiles entre elles.