当我关闭(Zsh(shell(和/或终端模拟器(时,是否可以运行脚本?
我经常打开一个带有特定配置的终端。在关闭它之前,我想问一下,以避免意外关闭它(这种情况经常发生(。
要检查/询问的脚本很简单,但我想知道如何钩住它。
如果shell是登录shell,则会执行文件~/.zlogout
,因此您可以将命令放在那里。
对于其他情况,您可以设置一个trap
命令来捕获shell的正常exit
,或者一个可能杀死shell的信号。除了常见的trap
命令外,ZSH还允许您定义陷阱函数(请参阅zshmisc手册页中的陷阱函数一节(。例如,如果您定义了一个名为TRAPEXIT
的函数,那么它将在shell退出时执行。
我不知道你的终端程序是如何处理它产生的进程的,所以如果你只是关闭终端,我不能说在艰难地杀死它之前,先发送一个可捕捉的信号是否足够礼貌。