有人可以帮助解释这个Bash脚本在做什么吗?

时间:2017-05-09 23:22:10

标签: linux bash

我是linux的新手,虽然我熟悉脚本中锁文件的概念,但我在另一个脚本中遇到了这个代码,并认为它非常酷,虽然我不知道它是如何工作的。是否有人能够完全了解清理文件和finalize函数正在做什么?

与lockfile的if else语句相反

cleanup_file="$(mktemp -q)"
finalize()
{ 
  set +e
  if test -f "$cleanup_file"
  then
    while read f
    do
      unlink "$f"
    done < "$cleanup_file"
    unlink "$cleanup_file"
  fi
}

trap 'finalize' HUP INT QUIT TERM EXIT

1 个答案:

答案 0 :(得分:2)

OSStatus VTCreateCGImageFromCVPixelBuffer(CVPixelBufferRef pixelBuffer, CFDictionaryRef options, CGImageRef _Nullable *imageOut); Parameters 函数不处理任何锁定。它只删除名称在清理文件中的所有文件。它还会删除清理文件。

似乎较大的脚本会将临时文件的名称附加到清理文件中,options信号处理程序会在脚本终止时负责清理它们。