아래와 같이 입력하면 ech
실행이 되지 않습니다. 대신, 입력된 미리 Enter키는 가 됩니다 Tab.
$ sleep 5[Enter]
ech[Enter]
$ ech
echkpnt echkpnt.default echkpnt.fluent echkpnt.ls_dyna echo
$ ech<cursor-is-here>
동료에게 확인해 보니 이 문제가 없으므로 해결될 수 있다고 생각합니다. 나는 많은 stty 설정을 시도했습니다. 불운. 이것이 "요리된" 편집 모드와 관련이 있다는 것을 알고 있지만 해결책을 찾을 수 없습니다.
$ stty -a
speed 38400 baud; rows 44; columns 127; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
편집: KiTTY를 사용하여 원시 문자 로그를 캡처했습니다. 내 생각엔 지금 가고 있는 것 같아. 이것은 내 PS1 프롬프트 색상과의 상호 작용인 것 같습니다. 이것은 내 동료들이 그것을 보지 못한 이유를 설명합니다. 답을 알아내면 게시하겠습니다.
편집 2: 이것은 내 PS1입니다.
reset="\[$(tput setaf 0)\]"
red="\[$(tput setaf 9)\]"
green="\[$(tput setaf 10)\]"
yellow="\[$(tput setaf 11)\]"
white="\[$(tput setaf 15)\]"
PS1="${green}\$ ${white}"
답변1
PROMPT_COMMAND
나는 마침내 bash 변수가 내가 얻고 있는 일부(아직 찾을 수 없는) 시스템/프로젝트 파일에 의해 설정된다는 것을 발견했습니다 . 내 작업 환경에서는 소스 파일 트리를 따라가기가 매우 어렵습니다. 따라서 직접 설정했는데도 PS1
의 명령은 PROMPT_COMMAND
계속 실행됩니다. 해결책은 이 변수를 내 사용자의 bashrc 파일의 일부로 설정 해제하는 것이었습니다.
$ echo $PROMPT_COMMAND
printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"