Bash에서 편집할 때 줄 편집 경계를 제어하는 ​​것은 무엇입니까?

Bash에서 편집할 때 줄 편집 경계를 제어하는 ​​것은 무엇입니까?

이 멋진 글을 읽고Linux에서 tty가 작동하는 방식지금 궁금합니다.

Bash를 실행할 때 각 줄은 프롬프트로 시작되며 사용자는 프롬프트를 제거할 수 없습니다. 이것은 라인 규칙 수준에서 tty에 의해 제어됩니까, 아니면 bash에 의해 제어됩니까?

답변1

Bash 자체를 통해리딩라인 도서관. (Bash 관리자가 유지 관리합니다.) 입력 영역이 시작되는 위치를 알고 그에 따라 작동합니다.

링크한 기사에는 Readline과 Shell도 언급되어 있습니다.

따라서 편의를 위해 운영 체제는 편집 버퍼와 몇 가지 기본 편집 명령을 제공합니다. [...]
고급 응용 프로그램은 기본 쿠킹(또는 표준) 모드 기능 대신 원시 모드에 선 규칙을 넣어 이를 비활성화할 수 있습니다. 대부분의 대화형 애플리케이션(편집기, 메일 사용자 에이전트,껍데기, 저주에 의존하는 모든 프로그램 또는독서선)는 원시 모드에서 실행되며 모든 줄 편집 명령을 자체적으로 처리합니다.

(Curse와 Readline을 편집자, MUA, Shell과 같은 수준에 두지는 않겠습니다. 오히려 이러한 프로그램은 입력을 처리하는 데 사용하는 도구입니다.)

반면에 내장된 줄 편집 기능으로도 화면의 이전 내용을 덮어쓸 수는 없습니다. 예를 들어 섹션 echo -n 'prompt: '; cat을 편집할 수 없어야 합니다 prompt:.

관련 정보