有人可以向我解释为什么-c
中存在flock
选项吗?
我无法找到它与简单地指定在flock
之后执行的命令(除了它对命令没有参数的限制之外)的不同之处。
答案 0 :(得分:3)
-c
使用命令调用shell。
考虑一下:
flock .lock somecommand > myfile
由于>
由当前shell解释而不是flock,因此在捕获锁之前将截断myfile
。
您可以使用-c
:
flock .lock -c 'somecommand > myfile'
现在,在捕获锁定后执行重定向。但是,它确实没用,因为你可以自己调用一个shell:
flock .lock sh -c 'somecommand > myfile'