매우 이상한 상황입니다. 대화형 명령을 입력하면 이 경우 공백을 입력 tasksh
할 nslookup
수 없습니다. 예를 들어:
tasksh> add "my new task"
~이 되다
tasksh> add"mynewtask"
물론 작동하지 않습니다. 나는 그것이 이것과 관련이 있을 것이라고 생각했지만 대화형 모드에서 확인 tasksh
했습니다. nslookup
그것은 같은 것입니다. 이는 Linux에서는 발생 4.6.7-1-MANJARO
하지만 OpenSUSE Leap 42.1에서는 발생하지 않습니다.
이 짜증나는 일을 어떻게 해결해야 할까요?
다른 터미널(gnome-terminal, xfce4-terminal, xterm)을 실행해 보았지만 동일한 결과가 나왔습니다.
답변1
가장 그럴듯한 설명은 Space구성 파일 중 하나에 눈에 보이는 효과가 없는 명령을 실수로 바인딩했다는 것입니다.
명령 에 대한 쉘 초기화 파일을 확인하십시오 stty
. 이는 적어도 터미널의 기본 줄 편집기에 의존하는 프로그램에 직접적인 영향을 미치며, stty 설정과의 호환성을 유지하려고 노력하는 괜찮은 줄 편집기가 있는 프로그램에 간접적으로 영향을 미칠 수 있습니다.
특정 프로그램에서만 문제가 발생하는 경우 문제가 있는 구성이독서선도서관. 이 라이브러리는 bash 및 기타 여러 프로그램에서 사용됩니다. 키가 bash에서는 작동하지만 readline을 사용하는 다른 프로그램에서는 작동하지 않는다면, bash가 키를 덮어썼을 가능성이 있습니다. readline의 구성 파일은 다음과 같습니다..inputrc
.
bash에서만 문제가 있는 경우에는 .bashrc
터미널 관련 구성이 있어야 하는 위치와 다른 bash 구성 파일(구성이 잘못된 위치에 있는 경우)을 확인하세요.
~/.inputrc
당신이 언급 한 댓글에서
Space: magic-space
magic-space
bash 명령입니다. 다른 프로그램은 이것을 이해하지 못합니다. bash에서 이것을 조건으로 설정하십시오:
$if Bash
Space: magic-space
$endif
또는 다음에서 이 설정을 제거 .inputrc
하고 정의하세요 .bashrc
.
bind 'Space: magic-space'