通过“如果”将任务发送到后台


10

为什么是这样?

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

我要跑步

sleep 3

在后台运行,以便命令[“ sleep 3”仅作为示例]将以“ paralell”样式运行,因此完成速度更快。但是我得到这个:

bash: syntax error near unexpected token `;'

错误信息。为什么?为什么我不能将任务发送到后台?


您认为您正在用该if语句测试什么?
glenn jackman 2011年

Answers:


6

在这种情况下,您似乎不需要分隔命令(&分隔它们本身)。

例如。

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

8

这是因为&已经是一个语句分隔符,所以您不应该;在此之后放置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.