Narazil jsem na problém s bolestí hlavy.
Chci spouštět více příkazů na pozadí, takže je chci spouštět v bash jeden po druhém.
Je snadné spustit jeden příkaz v linuxovém shellu na pozadí, stejně jako toto:
myCommand &
Je také snadné spustit více příkazů, například takto:
myCommand1 && myCommand2
nebo
myCommand1 ; myCommand2
Ale pokud chci spouštět více příkazů na pozadí, zkusil jsem následující formát příkazu, ale selhal:
myCommand1 & && myCommand2 &
nebo
myCommand1 & ; myCommand2 &
Oba formáty selžou. Jak mohu spustit více příkazů, které mají &
v jednom příkazovém řádku?
Přijatá odpověď:
Použijte ().
Pokud je chcete spouštět postupně:
(myCommand1; myCommand2) &
nebo
(myCommand1 &) && (myCommand2 &)
Pokud chcete, aby běžely paralelně:
myCommand1 & myCommand2 &
V bash můžete také použít toto (mezera za { a; jsou povinné):
{ myCommand1 && myCommand2; } &