Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 脚本终止后删除文件_Bash_Shell_Command_Abort - Fatal编程技术网

Bash 脚本终止后删除文件

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(停止脚本执行)后,

我在问自己,当我用crtl+c终止bash脚本时,脚本是否可能在中止之前执行最后一个命令,比如删除由该脚本创建的文件?

您希望使用ctrl-c陷阱进行脚本后清理


您可以捕获伪信号
EXIT
,以在出于任何原因退出之前执行某些操作:

trap 'rm myfile' EXIT
或trap
INT
在退出前,由于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文档,因为有特殊情况)。