gpt4 book ai didi

linux - Bash 脚本,清理步骤。

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:06 24 4
gpt4 key购买 nike

您好,我有一个执行某些文件操作的 bash 脚本,作为脚本的最后一步,我发出了一些必须执行的清理命令。

问题是如果脚本以某种方式手动终止(使用 cmd-z 等),这些最后的步骤不会执行,然后必须手动完成。有没有办法确保这样的行动?类似于异常处理的 finally block 。示例代码如下

#rename a folder ($1 being a parameter passed to the script)
mv ../project/game ../project/$1
# perform some steps within the new folder
....
# now comes the cleanup part
mv ../project/$1 ../project/game

这个脚本被许多团队成员执行了很多时间来切换和管理他们的环境,并且大部分时间都完美无缺。当脚本在清理完成之前中途终止并且重命名的文件夹和文件再次中断脚本执行时,就会出现问题。

这里有什么可以解决的吗?

最佳答案

你可以捕获信号

最后捕获SIGINT

finally 是某个函数。这不会使您的脚本免受 SIGKILL 的影响,尽管它是“无法捕获的”

参见 http://linux.die.net/Bash-Beginners-Guide/sect_12_02.html

关于linux - Bash 脚本,清理步骤。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23169801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com