Надіслати завдання на задній план у полі "якщо"


10

Чому це?

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

Я хочу бігти

sleep 3

у фоновому режимі, щоб команда [«спати 3» - лише приклад] виконувалась у стилі «паралель», тому вона закінчується швидше. Але я отримую це:

bash: syntax error near unexpected token `;'

повідомлення про помилку. Чому? Чому я не можу надіслати завдання на задній план?


Як ви думаєте, що ви тестуєте з ifтвердженням?
glenn jackman

Відповіді:


6

Здається, вам не потрібно відокремлювати команди в цьому випадку ( &відокремлюйте їх самі).

Наприклад.

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

8

Це тому, що &це вже роздільник операторів, тому ;після цього не слід ставити .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.