我想在每次退出bash时执行一些命令,但无法找到执行此操作的方法。 注销时有〜/ .bash_logout文件,但通常我们使用交互式shell而不是登录shell,所以这对于此目的不是很有用。如何让bash在每次退出时执行脚本?
有没有办法做到这一点?谢谢!
我想在每次退出bash时执行一些命令,但无法找到执行此操作的方法。 注销时有〜/ .bash_logout文件,但通常我们使用交互式shell而不是登录shell,所以这对于此目的不是很有用。如何让bash在每次退出时执行脚本?
有没有办法做到这一点?谢谢!
您可以捕捉EXIT信号。
exit_handler() {
# code to run on exit
}
trap 'exit_handler' EXIT
Techinically,trap exit_handler EXIT
将正常工作。我引用它来强调trap
的第一个参数是一个基本上传递给eval
的字符串,而不一定是单个函数名称。您可以轻松地写出
trap 'do_this; do_that; if [[ $PICKY == yes ]]; then one_more_thing; fi' EXIT
而不是将您的代码收集到一个函数中。
你实际试图解决什么问题? – 2013-04-25 13:56:37
好吧,让我这样说:我想要一个脚本自动执行,然后在终端模拟器中退出bash。 – qed 2013-04-25 13:58:46
陷阱EXIT可能工作。 – 2013-04-25 13:59:23