![Bash에서 키 입력을 제어 시퀀스에 바인딩하는 방법이 있습니까?](https://linux55.com/image/131485/Bash%EC%97%90%EC%84%9C%20%ED%82%A4%20%EC%9E%85%EB%A0%A5%EC%9D%84%20%EC%A0%9C%EC%96%B4%20%EC%8B%9C%ED%80%80%EC%8A%A4%EC%97%90%20%EB%B0%94%EC%9D%B8%EB%94%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
내 .bashrc
파일에서 사용자 정의 이스케이프 시퀀스를 제어 시퀀스에 키 바인딩하려고 합니다.
내가 가진 것은:
bind -x '"\eJD0C": "^C"'
프로세스 실행을 취소하는 쉘 제어 시퀀스를 실행하지 않는다는 것입니다. 그래서 이것을 할 수 있는 방법이 있나요? 아직도 불가능합니까? 가능하지 않다면 어떤 대안을 고려해야 합니까?^C
답변1
이것은 쉘 제어 순서가 아닙니다.
이것은특수 문자,인정됨라인 규율그럴 때표준 입력 모드.
다음 세 가지가 당신에게 좋지 않습니다.
- 라인 규율여기가 아니야Bourne Again 쉘이 GNU Readline 라이브러리를 사용하여 입력 행을 대화식으로 읽는 경우의 정식 모드입니다. 비정규 모드에 있으며 선 규칙에 대한 모든 특수 문자 인식이 꺼집니다.
- GNU Readline 라이브러리는 Bourne Again 쉘이 특정 작업을 수행할 때 입력을 담당하지 않습니다.밖의입력 줄을 대화형으로 읽고,Readline 라이브러리에 대한 매핑 설정은 이 시점에서 관련이 없습니다.. 쉘이 자식 프로세스가 종료되기를 기다리는 동안 특수 문자를 입력하면 이는 라인 규칙에 따라 처리됩니다.
- 줄 규칙은 터미널이 편집 키와 기능 키를 인코딩하는 데 사용하는 여러 문자 시퀀스가 아닌 단일 문자만 특수 문자로 인식합니다. 특수 문자 설정을 위한 터미널 API는 단일 문자에만 작동합니다.