如何在shell脚本中实现事件处理?

发布于 2024-12-21 23:49:00 字数 100 浏览 1 评论 0原文

在我的 shell 脚本中,我删除了脚本末尾的文件。即使脚本被(ctrl c 或 ctrl z)停止,我也需要将其删除。有什么方法可以读取该文件并删除该文件吗?

提前致谢

In my shell script, im deleting a file at the end of script. And i need it to be deleted even if the script was stopped by (ctrl c or ctrl z)..Is there any way to read that and delete the file?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

别低头,皇冠会掉 2024-12-28 23:49:00

就像 @pgl 所说,trap 就是你想要的。语法是:

trap<事件> [event...]

操作是唯一的一个参数,但它可以运行多个命令。该事件可以是 exit (当您手动调用 exit 时),也可以是由其“短”名称表示的信号,即不带 SIG 前缀(例如例如,INT 表示 SIGINT

示例:

trap "rm -f myfile" INT exit

您可以在整个脚本中更改陷阱。当然,您可以在操作中使用变量插值。

Like @pgl said, trap is what you want. The syntax is:

trap <actionhere> <event> [event...]

The action is one and only one argument, but it can run several commands. The event is either exit (when you call exit manually) or a signal by its "short" name, ie without the SIG prefix (for instance, INT for SIGINT.

Example:

trap "rm -f myfile" INT exit

You can change the trap all along the script. And of course, you can use variable interpolation in your action.

眼泪也成诗 2024-12-28 23:49:00

您可以使用内置的 trap 捕获 ctrl+c。尝试以下方法开始:

help trap

You can catch ctrl+c's with the trap builtin. Try this to get started:

help trap
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文