2010-07-27 2 views
2

나는 bash에서 EOF를 보내지 않도록 C-d를 언 바인드하고 다른 키로 설정하려고합니다. 아이디어는 C-d를 내 .bashrc에 EOF로 유지하는 것이지만 내 .bash_profile에 다시 바인딩하여 C-d를 반복적으로 사용하여 내가 속한 서브 쉘에서 나를 끌어 내 로그인 쉘에 남겨 두도록합니다.bash/Readline에서 EOF를 리바인할 수 있습니까?

이것이 가능합니까? C-d는 현재 줄에 텍스트가있는 경우 수행하는 delete-char에 바인딩 된 것으로 보입니다. 현재 줄에 텍스트가 없으면 EOF 만 보냅니다. 예를 들어 C-f와 같이 delete-char을 다시 바인딩하면 delete-char 동작이 적용되지만 EOF 전송은 적용되지 않습니다.

Readline은 EOF 명령을 리바 인딩하는 방법을 제공합니까?

답변

1

당신이 말하는 동작은 stty으로 설정됩니다. 왜 로그인 쉘이나 로그인 쉘이 아닌지에 따라 C-d 나 아무 것도 출력하지 않기 위해 다른 키 스트로크를 묶지 말고 일까요?

1

아니요, 그러나 stty eof을 사용하면 EOF 문자를 변경할 수 있습니다. 그렇게하는 것은 정말 나쁜 생각입니다.

+0

왜 EOF 문자가 바뀌고 있습니까? 나는 너를 믿는다, 나는 그것을 이해하고 싶다. – Peeja

+0

유닉스 영역에 너무 많은 것들이 EOF에 의존하고 손가락을 다르게 행동하도록 훈련하면 기대하지 않았던 상황에서 당신을 물어 챌 가능성이 있으며 표준 바인딩으로 키보드에 앉아야하는 경우, 불행 해. 내 대답은 이제 의도 한 것보다 더 무서운 소리로 바뀌 었습니다. "CAPS LOCK을 생성하여 스페이스를 생성 할 수 있습니까?"라는 대답과 나의 대답은 같습니다. – msw

관련 문제