嗨,我有一个执行某些文件操作的bash脚本,作为脚本的最后一步,我发出了一些必须执行的清除命令。
问题是,如果脚本以某种方式手动终止(使用cmd-z等),则这些最终步骤将不会执行,而必须手动完成。有没有办法确保采取这种行动?类似于finally异常处理块。示例代码如下
#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
许多团队成员花费大量时间执行了此脚本,以切换和管理其环境,并且大多数时间都可以完美无缺地工作。当脚本在清理完成前中途终止并且重命名的文件夹和文件再次使脚本无法执行时,就会发生问题。
有什么可以解决的方法吗?
您可以捕获信号
trap finally SIGINT
最后哪里是一些功能。SIGKILL
尽管这是“无法捕获的” ,但这不会使您的脚本不受感染
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句