라우터의 비지박스 셸에서 커서를 왼쪽과 오른쪽으로 이동하는 방법

라우터의 비지박스 셸에서 커서를 왼쪽과 오른쪽으로 이동하는 방법

내 라우터는 asuswrt merlin을 실행합니다. /bin/sh는 BusyBox v1.25.1(2017-12-02 00:49:46 EST) 다중 호출 바이너리에 패키지되어 있습니다.

내 질문은 어떻게 커서를 한 단어씩 왼쪽이나 오른쪽으로 이동할 수 있습니까?

Bash를 사용하면 터미널에서 및 각각 매핑되는 option+left을 실행할 수 있습니다 . option+right\033b\033f

내 라우터 케이스에서는 a b와 .만 인쇄됩니다 f. 그러면 셸에서 바로가기를 다시 매핑하려면 어떻게 해야 하나요? 아니면 이미 만들어진 바로가기가 있나요?

참고 1: 쉘을 busybox캡슐화한다고 되어 있으므로 내 질문은 쉘에서 커서를 한 단어씩 이동하는 방법일 수 있습니다.ashash

참고 2: Meta+b 및 Meta+F를 사용하기 위해 다음 옵션을 활성화 및 비활성화하려고 시도했지만 성공하지 못했습니다.

옵션을 메타 키로 사용

참고 3: apple 및 ash 태그 추가

답변1

Meta- FMeta-는 B각각 커서를 앞뒤로 이동합니다.

키를 올바르게 전달하지 않는 터미널 또는 연결 체인에 있는 경우( Meta귀하의 경우와 같이) 이는 Esc다음 문자가 보낸 신호가 변경된 키 입력을 의미함을 의미합니다 Meta. 따라서 을 눌렀다가 놓은 다음 Esc또는 을 F눌러 B문자 그대로 원격 터미널에서 앞으로 또는 뒤로 이동하십시오.

즉, 내가 다루고 있는 명령줄이 적절하게 설정할 수 있을 만큼 복잡하고 Ctrl- A또는 - , - 보다 Ctrl더 복잡한 것이 필요할 때 일반적으로 구성에서 E이 기능을 켭니다 .EDITORCtrlXCtrlE

답변2

JdeBP가 말했듯이 BusyBox는 readline을 사용하지 않습니다. 해당 키맵은 파일에 하드코딩되어 read_key.c있으며 로 해석됩니다. 이는 , 및 가 유효하지 않음을 lineedit.c의미합니다 .~/.inputrc/etc/inputrctermcapterminfov1.25매핑 -arrow/ -arrow 의 모호한 xterm 변형 에 해당하는 or 로 단어 왼쪽을 ESC[1;5Dor ESC[1;3D로 단어 오른쪽을 하드 코딩합니다.ESC[1;5CESC[1;3CCtrlAltv1.26뒤로/앞으로 단어에 대해 추가되며 일반적으로 - / - ESC-b/ESC-f에 매핑됩니다 .AltbAltf

관련 정보