如何阻止同一目录中同一脚本的双重执行

如何阻止同一目录中同一脚本的双重执行

我创建了一个 .sh 可执行文件,该文件在同一脚本使用的工作目录/文件夹中生成多个文件。如果它在同一个文件夹中运行两次,那就会很混乱,因为脚本内的循环将使用新文件和以前创建的文件。是否有任何选项可以阻止同一文件夹中同一脚本的双重执行?然后echo“这里已经执行了这个操作,更改文件夹”

答案1

脚本启动后 - 检查它是否有文件“.i_am_running”。如果文件不存在 - 创建它,执行作业,删除文件。如果确实存在 - 这是该进程的第二个实例,请立即退出。

答案2

输出文件名不同,但具有相同的扩展名,因为我的循环类似于“for file in *.bam”,那么所有 bam 文件都会经历一个新循环,旧循环和新循环

老实说,那么您已经确定了您的问题和正确的解决方案(只需将您生成的文件列表存储在变量中,而不是通过*.bam.

这不是“优雅”的问题,而是“优雅”的问题。你现在正在做的事情是纯粹的错误。

相关内容