通过庆典会后文件,这个问题,这一个它仍然不是很清楚,我哪能执行原子写入(追加)操作在bash文件。我有一个在多个实例中运行的脚本,并且在某些时候必须将数据写入文件:
echo "$RESULT" >> `pwd`/$TEMP_DIR/$OUT_FILE
Run Code Online (Sandbox Code Playgroud)
如何使所有并发运行的脚本的所有写入操作都原子化(以便来自一个实例的数据不会与来自另一个实例的数据重叠)?
我是 shell 脚本新手,这让我想知道为什么以下代码片段在 zsh 中不起作用,但在 bash 中却起作用?是否有相同片段的 zsh 等效项?我收到错误parse error near `200'
(
flock -e 200
echo "In critical section"
sleep 5
) 200>/tmp/blah.lockfile
echo "After critical section"
Run Code Online (Sandbox Code Playgroud)
上面的代码片段来自src: https: //stackoverflow.com/a/13551882/15087532