Bash에서 EOF 다시 매핑(ctrl+D)

Bash에서 EOF 다시 매핑(ctrl+D)

bash쉘 에 있는 경우 stty설정 방식 으로 인해 Ctrl+를 입력하면 a 가 D전송되고 명령과 거의 동일한 작업이 수행되고 쉘이 종료됩니다.EOFbashexit

bash수신 시 종료되지 않고 EOF대신 내가 선택한 다른 명령을 실행 하도록 일시적으로 다시 매핑할 수 있는 방법이 있는지 궁금합니다 .


내 동기는 Python virtualenvs를 사용하는 것입니다 virutalenvwrapper. workon foovirtualenv에 들어가고 deactivatevirtualenv를 떠납니다.

때로는 deactivate정리 작업에 작동하지만 CtrlI+ 이면 D해당 단계를 건너뜁니다.

이 작업을 수행할 수 있다면 Ctrl( DA) 실행 deactivate하고 virtualenv를 종료하고(그리고 다시 +를 다시 매핑 Ctrl) 쉘을 계속할 수 있습니다. 또는 (B) 실행한 다음 여전히 쉘을 종료하지만 그렇게 하는 것이 좋을 것입니다. 청소를 하세요.Dexitdeactivateexit

답변1

EXIT셸이 종료될 때 실행되는 특정 명령/함수를 캡처할 수 있습니다.

trap deactivate EXIT

deactivate쉘을 종료하기 전에 실행됩니다.

바라보다http://redsymbol.net/articles/bash-exit-traps/더 많은 예시를 알아보세요.

관련 정보