【发布时间】:2019-01-17 13:31:47
【问题描述】:
我正在使用 Bash 脚本并遇到这种情况:
一个 bash 脚本会将内容写入文件,而另一个 bash 脚本将从同一个文件中读取内容。
在这种情况下,是否需要lockfile?我想我不需要使用lockfile,因为只有一个读取过程和一个写入过程,但我不确定。
Bash write.sh:
#!/bin/bash
echo 'success' > tmp.log
Bash read.sh:
#!/bin/bash
while :
do
line=$(head -n 1 ./tmp.log)
if [[ "$line" == "success" ]]; then
echo 'done'
break
else
sleep 3
fi
done
顺便说一句,write.sh 可以写几个关键词,例如success、fail 等。
【问题讨论】:
-
如果你只想要文件的第一行,只需使用
read line < ./tmp.log。
标签: bash multiprocessing locking lockfile