Invia attività in background in un "if"


10

Perchè è questo?

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

voglio correre

sleep 3

in background in modo che il comando ["sleep 3" sia solo un esempio] venga eseguito in stile "paralell", quindi termina più velocemente. Ma sto ottenendo questo:

bash: syntax error near unexpected token `;'

messaggio di errore. Perché? Perché non riesco a inviare un'attività in background?


Cosa pensi di provare con l' ifaffermazione?
Glenn Jackman,

Risposte:


6

Sembra che non sia necessario separare i comandi in quel caso ( &separati da loro stessi).

Per esempio.

$> if true; then (sleep 3; echo ok) &  fi
[1] 14224
$> ok

8

È perché &è già un separatore di istruzioni, quindi non dovresti metterlo ;dopo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.