비지박스에서 DSR을 얻으려고 하는데(터미널 크기를 얻기 위해) echo '\x1b[6n'
아무 것도 보고하지 않고 \x1b[6n
.
답변1
두 가지 문제가 있습니다.
- 만들다
echo
이 옵션은 이스케이프 시퀀스를 처리하는 데 필요합니다-e
. 이는 BusyBox 셸의 기능이 아니며bash
다른 구현에도 적용됩니다. - 에서 공제이 문제ANSI 코드는 이어야 합니다
\x1b[6n
.
또한 후행 줄 바꿈을 억제하는 것이 좋습니다. 요약하자면, 호출은 다음과 같아야 한다고 생각합니다.
echo -en "\x1b[6n"
BusyBox 제한 사항
BusyBox의 이전 버전\e
이스케이프 \x
시퀀스 는 지원되지 않습니다.echo
; 이 경우에는 를 사용해야 합니다 \033
. 이 문제는 1.23.1에서 수정된 것으로 보입니다.
구성에서 다음을 설정했는지 확인하세요.
- 비지박스 설정
- Busybox 라이브러리 조정
- 터미널에서 커서 위치 쿼리→ 활성화됨
- Busybox 라이브러리 조정
SSH/PuTTY 제한사항
SSH반환된 위치를 삼키다. 원격 터미널에서 답변을 보려면 다음을 사용할 수 있습니다.
echo -en "\e[6n"; cat
Ctrl + C그런 다음 누릅니다.