我想在每次退出bash时执行一些命令,但找不到办法。 当你注销时有一个〜/ .bash_logout文件,但通常我们使用交互式shell而不是登录shell,所以这对于这个目的来说不是很有用。
有办法做到这一点吗?谢谢!
答案 0 :(得分:5)
您可以捕获EXIT信号。
exit_handler () {
# code to run on exit
}
trap 'exit_handler' EXIT
从技术上讲,trap exit_handler EXIT
也可以。我引用它来强调trap
的第一个参数是一个基本上传递给eval
的字符串,而不一定是单个函数名。你可以轻松地写
trap 'do_this; do_that; if [[ $PICKY == yes ]]; then one_more_thing; fi' EXIT
而不是将您的代码收集到一个函数中。