나는 bash 쉘에서 작업 중입니다.솔라리스환경에서는 "백스페이스"를 입력할 때마다 전체 줄이 지워집니다.
전체 줄을 한 문자로 지우는 백스페이스 키를 변경하라는 제안 사항이 있습니까? 이것이 의도된 동작입니까?
stty -a
로컬 명령의 출력을 해석하는 방법시그윈환경:
$ stty -a <br/>
speed 38400 baud; rows 34; columns 125; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = ^Z; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -tostop echoctl echoke
답변1
귀하의 질문에 따르면 귀하가 cygwin을 사용하여 Solaris 시스템에 액세스하고 있다고 가정합니다.
stty -a
터미널의 현재 설정을 모두 표시합니다. 나는 그들 각각에 대해 다루지 않을 것입니다. 하지만 각각의 기능이 무엇인지는 알 수 있습니다.매뉴얼 페이지.
그러나 귀하의 질문이 이라는 점은 특히 주목할 가치가 있습니다 erase = ^?;
. ^?
~이다ASCII 제어 문자DEL
(삭제) 에 대해 . 당신이 원하는 것은 (backspace) 의 제어 문자입니다 BS
.
명령줄에서 다음을 입력할 수 있습니다.
stty erase ^H
^H
하지만 가 아닌 제어 문자라는 점에 유의하세요 ^H. 그래서 나는 당신이 다음과 같이 입력했다고 믿습니다.
Ctrl+vbackspace
^H
이는 화면에 인쇄 되어야 합니다 .
이렇게 하면 동작이 backspace원하는 대로 변경됩니다. 하지만 현재 세션 동안만 지속됩니다.
~에 따르면이 오라클 블로그/kernel/drv/options.conf
, 다음 줄을 열고 찾아 구성을 영구적으로 변경할 수 있습니다.
ttymodes="2502:1805:bd:8a3b:3:1c:7f:15:4:0:0:0:11:13:1a:19:12:f:17:16";
7f
변경 사항을 영구적 으로 8
다시 매핑합니다 . 이를 적용하려면 재부팅이 필요합니다.backspaceDEL
BS