Почему это?
if true; then sleep 3 &; fi
bash: syntax error near unexpected token `;'
Я хочу бежать
sleep 3
в фоновом режиме, так что команда ["sleep 3" является просто примером] будет выполняться в стиле "paralell", поэтому она завершается быстрее. Но я получаю это:
bash: syntax error near unexpected token `;'
сообщение об ошибке. Почему? Почему я не могу отправить задачу на задний план?
bash
shell
control-flow
LanceBaynes
источник
источник
if
заявлением?Ответы:
Похоже, вам не нужно разделять команды в этом случае (
&
разделяйте их сами).Например.
источник
Это потому, что
&
уже является разделителем операторов, поэтому вы не должны ставить;
после этого.источник