如果你“source”另一个文件,之前定义的“trap INT”将不起作用?
如果我将其放在 Bash 脚本的顶部,则 Control+C 不起作用。
exit-function() {
echo "Hey hey!"
}
trap exit-function INT
但如果我把它放在几行之后,那么 Control+C 就会被困住。
更新:
如果将其放置在 source "$HOME/.rvm/scripts/rvm"
之后,那么它就可以工作。
因此,如果您获取另一个文件, 之前定义的trap INT
不起作用?
If I place this on the top the Bash script, Control+C doesn't work.
exit-function() {
echo "Hey hey!"
}
trap exit-function INT
But if I put it few lines after, then Control+C is trapped.
UPDATE:
If it's placed after source "$HOME/.rvm/scripts/rvm"
, then it works.
So if you source another file, trap INT
defined before won't work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
rvm 脚本来源的脚本之一设置了一个
trap
,它会替换您之前设置的陷阱。通过在 rvm 脚本之后设置一项,您将替换它设置的一项。One of the scripts that's sourced by the rvm script sets a
trap
which replaces the trap you set earlier. By setting one after the rvm script you're replacing the one it sets.