2012-03-20 6 views
10

에 "^ C"를 숨기기 :루비 - 나는 다음과 같은 한 루비에서 인터럽트

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

내가 프로그램을 중단하는 경우, 다음 (맥 OSX 라이온) 인쇄 :

^CShutting을 아래로 ...

Ruby에서 ^C을 숨길 방법이 있습니까?

+3

종료 메시지를 'C'(링크를 닫는 것과 같은 것)로 시작한 다음 'C'를 생략하면 :) (여전히'^' – itdoesntwork

답변

9

제어 문자가 표시되는지 여부는 사용중인 tty의 속성입니다. stty -echoctl은 제어 문자의 반향을 비활성화하는 유닉스 방법입니다. Ruby 스크립트에서이 명령을 실행할 수 있으며 Unix-ish 시스템을 사용하는 경우에도 동일한 효과를 얻을 수 있습니다.

3

Linux 및 Mac OS X 터미널의 Python 프로그램에서 캐리지 리턴 (\ r)으로 메시지를 시작하여^C를 숨길 수 있다는 것을 알았습니다. 해킹처럼 느껴지지만 잘 작동합니다.