bash
쉘 에 있는 경우 stty
설정 방식 으로 인해 Ctrl+를 입력하면 a 가 D전송되고 명령과 거의 동일한 작업이 수행되고 쉘이 종료됩니다.EOF
bash
exit
bash
수신 시 종료되지 않고 EOF
대신 내가 선택한 다른 명령을 실행 하도록 일시적으로 다시 매핑할 수 있는 방법이 있는지 궁금합니다 .
내 동기는 Python virtualenvs를 사용하는 것입니다 virutalenvwrapper
. workon foo
virtualenv에 들어가고 deactivate
virtualenv를 떠납니다.
때로는 deactivate
정리 작업에 작동하지만 CtrlI+ 이면 D해당 단계를 건너뜁니다.
이 작업을 수행할 수 있다면 Ctrl( DA) 실행 deactivate
하고 virtualenv를 종료하고(그리고 다시 +를 다시 매핑 Ctrl) 쉘을 계속할 수 있습니다. 또는 (B) 실행한 다음 여전히 쉘을 종료하지만 그렇게 하는 것이 좋을 것입니다. 청소를 하세요.Dexit
deactivate
exit
답변1
EXIT
셸이 종료될 때 실행되는 특정 명령/함수를 캡처할 수 있습니다.
trap deactivate EXIT
deactivate
쉘을 종료하기 전에 실행됩니다.
바라보다http://redsymbol.net/articles/bash-exit-traps/더 많은 예시를 알아보세요.