Control + d가 세션 연결을 끊지 않도록하려면 어떻게해야합니까?


26

나는 정기적으로 centos 5 상자에 ssh. 어떻게 든 키가 매핑되어 control+d현재 쉘에서 로그 아웃됩니다. 다른 용도로 sudo'ed하면 이전 사용자에게 다시 연결됩니다. 내가 sudo하지 않으면 그것은 단지 나를 연결 해제합니다. 이 문제가 발생하지 않도록하려면 어떻게해야합니까? 나는 정기적으로 control + d를 사용하여 파이썬 인터프리터를 취소하고 때로는 실수로 두 번 이상 누르는 경우가 있습니다.


에서cshset ignoreeof
Trevor Boyd Smith

답변:


32

IGNOREEOF다음을 사용 하면 환경 변수를 찾고 있습니다 bash.

IGNOREEOF

EOF 문자를 단독 입력으로 수신 할 때 대화식 쉘의 동작을 제어합니다. 설정된 경우 값은 연속 EOF 문자 수로, bash가 종료되기 전에 입력 행에서 첫 번째 문자로 입력해야합니다. 변수가 존재하지만 숫자 값이 없거나 값이없는 경우 기본값은 10입니다. 존재하지 않는 경우 EOF는 쉘에 대한 입력의 끝을 나타냅니다.

따라서 실제로 쉘을 끝내기 전에 416 번 export IGNOREEOF=42을 눌러야 Ctrl+D합니다.

POSIX set에도 -o ignoreeof설정이 있습니다. 따라서 쉘 문서를 참조하여 쉘에 이것이 있는지 (필수) 있는지 확인하고 정확한 의미를 확인하십시오.


니스, 적어도 우분투에서 "출구를 사용하여 쉘을 떠나십시오"라는 메시지가 나타납니다. 부모 사용자가 루트 수준 인 경우 사용자에게 실수로 빠져 나가고 싶지 않은 경우가 있습니다.
Fiasco Labs

1
나는 개인적으로 그게 정말 성가신 것을 알기 때문에 어디에도 설정하지 않습니다. 해당 동작 을 비활성화 하는 동안 이것에 대해
Mat

2
나는 pedant에 저항 할 수 없다. IGNOREEOFEOF가 마지막으로 승인되기 전에 무시되는 횟수입니다. 그래서 예를 들어 당신 경우, 위의 export IGNOREEOF=42하지 (42) -, 당신은 보도 CONTROL-D를 종료하려면 43 시간이 필요합니다
앨빈 톰슨

2

tcsh set ignoreeof또는 set ignoreeof=<any value not 1>작품


0

당신이 정말로 마음에 들지 않으면 터미널 컨트롤에서 문자를 Ctrl-d제거 할 수 eof있습니다.

stty eof undef

이후에는 Cntl-d다른 제어 문자가됩니다.


1
방금 bash가있는 터미널 (urxvt)과 일반 콘솔에서 시도했지만 작동하지 않았습니다.
Mat

흠 ... 이전에 일했던 문서는 여전히 그렇습니다. 대안은 <kbd> Ctrl-[</ kvd>를 사용하는 것입니다.
Arcege

2
이것은 또한 더 이상 파이썬에서 빠져 나오지 않게합니다.
psusi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.