(bash)flock:何时使用-c选项?

时间:2014-12-16 23:27:06

标签: bash flock

有人可以向我解释为什么-c中存在flock选项吗?

我无法找到它与简单地指定在flock之后执行的命令(除了它对命令没有参数的限制之外)的不同之处。

1 个答案:

答案 0 :(得分:3)

-c使用命令调用shell。

考虑一下:

flock .lock somecommand > myfile

由于>由当前shell解释而不是flock,因此在捕获锁之前将截断myfile

您可以使用-c

解决此问题
flock .lock -c 'somecommand > myfile'

现在,在捕获锁定后执行重定向。但是,它确实没用,因为你可以自己调用一个shell:

flock .lock sh -c 'somecommand > myfile'