Bash에서 키 입력을 제어 시퀀스에 바인딩하는 방법이 있습니까?

Bash에서 키 입력을 제어 시퀀스에 바인딩하는 방법이 있습니까?

.bashrc파일에서 사용자 정의 이스케이프 시퀀스를 제어 시퀀스에 키 바인딩하려고 합니다.
내가 가진 것은:
bind -x '"\eJD0C": "^C"'
프로세스 실행을 취소하는 쉘 제어 시퀀스를 실행하지 않는다는 것입니다. 그래서 이것을 할 수 있는 방법이 있나요? 아직도 불가능합니까? 가능하지 않다면 어떤 대안을 고려해야 합니까?^C



답변1

이것은 쉘 제어 순서가 아닙니다.

이것은특수 문자,인정됨라인 규율그럴 때표준 입력 모드.

다음 세 가지가 당신에게 좋지 않습니다.

  • 라인 규율여기가 아니야Bourne Again 쉘이 GNU Readline 라이브러리를 사용하여 입력 행을 대화식으로 읽는 경우의 정식 모드입니다. 비정규 모드에 있으며 선 규칙에 대한 모든 특수 문자 인식이 꺼집니다.
  • GNU Readline 라이브러리는 Bourne Again 쉘이 특정 작업을 수행할 때 입력을 담당하지 않습니다.밖의입력 줄을 대화형으로 읽고,Readline 라이브러리에 대한 매핑 설정은 이 시점에서 관련이 없습니다.. 쉘이 자식 프로세스가 종료되기를 기다리는 동안 특수 문자를 입력하면 이는 라인 규칙에 따라 처리됩니다.
  • 줄 규칙은 터미널이 편집 키와 기능 키를 인코딩하는 데 사용하는 여러 문자 시퀀스가 ​​아닌 단일 문자만 특수 문자로 인식합니다. 특수 문자 설정을 위한 터미널 API는 단일 문자에만 작동합니다.

관련 정보