如何避免多个用户覆盖文件

时间:2019-03-28 05:17:55

标签: bash shell temporary-files

我有一个包含多个临时文件的脚本。多个用户可以运行该脚本。但是,当多个用户同时运行脚本时,我需要避免覆盖输入文件。

我可以使用的最好的东西是什么?

cat inputfile | while read j
do
sed 's/beth/Beth/' >> temp1
cat temp2 | awk '{print $2}' >> temp2
cat temp2
done

如果其他用户在运行脚本之前更新了输入文件,则该输入文件不应覆盖

1 个答案:

答案 0 :(得分:0)

尝试

TEMP=$(mktemp)                  # create unique tempfile
while read line; do             # read one line from inputfile
    # do what you want, e.g
    echo "($line)" >> $TEMP     # only an example
done < inputfile                # use inputfile in while-loop
cat $TEMP                       
rm $TEMP                        # remove tempfile