You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Ruby的IRB在按下CTRL+C时退出

让IRB按下CTRL+C时直接退出的方法

默认情况下,Ruby的IRB按下CTRL+C只会中断当前执行的代码或清空输入行,并不会退出IRB会话。要修改这个行为,可以通过以下两种方式实现:

1. 临时加载脚本实现

创建一个自定义脚本文件,比如命名为exit_on_sigint.rb,在文件中写入以下代码:

trap('INT') { exit }

启动IRB时通过-r参数加载这个脚本:

irb -r ./exit_on_sigint.rb

这样启动的IRB会话中,按下CTRL+C就会直接退出IRB进程。

2. 全局配置永久生效

如果希望每次启动IRB都自动生效,可以将上述代码添加到IRB的初始化文件~/.irbrc中(文件不存在则新建)。添加后,每次打开IRB都会自动应用这个信号处理逻辑,无需额外参数。

原理说明:IRB默认对INT信号(CTRL+C触发的信号)的处理是中断当前操作而非退出,我们通过trap方法重写了这个信号的处理逻辑,让程序收到信号时直接调用exit方法终止进程。

内容的提问来源于stack exchange,提问作者Alex Craft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:32:41