Bash 脚本终止后删除文件
我在问自己,当我用crtl+c终止bash脚本时,脚本是否可能在中止之前执行最后一个命令,比如删除由该脚本创建的文件?您希望使用ctrl-c陷阱进行脚本后清理Bash 脚本终止后删除文件,bash,shell,command,abort,Bash,Shell,Command,Abort,我在问自己,当我用crtl+c终止bash脚本时,脚本是否可能在中止之前执行最后一个命令,比如删除由该脚本创建的文件?您希望使用ctrl-c陷阱进行脚本后清理 您可以捕获伪信号EXIT,以在出于任何原因退出之前执行某些操作: trap 'rm myfile' EXIT 或trapINT在退出前,由于Control-C的原因,执行命令on: trap 'rm myfile' INT 您可以通过以下方式首先捕获ctrl+c: trap ctrl\u c INT 按ctrl+c(停止脚本执行)后,
您可以捕获伪信号
EXIT
,以在出于任何原因退出之前执行某些操作:
trap 'rm myfile' EXIT
或trapINT
在退出前,由于Control-C的原因,执行命令on:
trap 'rm myfile' INT
您可以通过以下方式首先捕获ctrl+c:
trap ctrl\u c INT
按ctrl+c(停止脚本执行)后,此行将调用函数ctrl\u c
。
然后创建一个函数ctrl\u c
,并删除该函数中要删除的文件,如下所示:
function ctrl_c(){
rm -rf ~/PATH-OF-THE-FILE-TO-DELETE
}
陷阱可以调用函数,该函数可以方便地同时处理所有清理操作。错误陷阱可用于处理错误。它在非零返回代码上触发(如果有兴趣,请参阅Bash文档,因为有特殊情况)。