2012-03-20 74 views
10

在Ruby我有以下:红宝石 - 隐藏 “^ C” 上中断

# Trap Interrupts 
trap("INT") do 
    puts "Shutting down..." 
    exit 
end 

当我中断程序,下面的打印(Mac OSX上狮子):

^CShutting down ...

有什么办法可以在Ruby中隐藏^C吗?

+3

用'C'(类似于'Closing link ...')然后省略'C':)开始退出消息(尽管如此,仍然会有'^') – itdoesntwork 2012-03-21 02:01:33

回答

9

控制字符是否被回显是您正在使用的tty的属性。 stty -echoctl是禁用控制字符回显的Unix方法。你可以在你的Ruby脚本中运行这个命令,如果你使用的是Unix-ish系统,你可以获得同样的效果。

3

我发现在我的Linux和Mac OS X终端上的Python程序中,我可以通过用回车符(\ r)开始消息来隐藏^ C。它感觉像一个黑客,但它工作得很好。