Senden Sie die Aufgabe in einem "Wenn" an den Hintergrund.

10

Warum ist das?

if true; then sleep 3 &; fi
bash: syntax error near unexpected token `;'

Ich möchte rennen

sleep 3

im Hintergrund, so dass der Befehl ["sleep 3" ist nur ein Beispiel] im "paralell" -Stil ausgeführt wird, sodass er schneller beendet wird. Aber ich verstehe das:

bash: syntax error near unexpected token `;'

Fehlermeldung. Warum? Warum kann ich keine Aufgabe in den Hintergrund schicken?

LanceBaynes
quelle
Was denkst du, testest du mit der ifAussage?
Glenn Jackman

Antworten:

6

Scheint, als müssten Sie in diesem Fall keine Befehle &trennen ( sie selbst trennen).

Beispielsweise.

$> if true; then (sleep 3; echo ok) &  fi
[1] 14224
$> ok
ДМИТРИЙ МАЛИКОВ
quelle
8

Es ist, weil &es bereits ein Anweisungstrennzeichen ist, also sollten Sie danach nicht setzen ;.

Enzotib
quelle