cmd.exe를 올바르게 실행하고 올바르게 실행하는 "셸"을 호출했습니다.
그러나 해당 셸 내에서 bash를 실행하면 모든 명령에서 오류가 발생합니다.
Microsoft Windows [Version 10.0.22000.739] (c) Microsoft Corporation.
All rights reserved.
c:\tools\Emacs\emacs-28.1>bash
bash
ll
bash: line 1: $'ll\r': command not found
bash: line 2: $'\r': command not found
내가 입력한 첫 번째 명령은 ll
. 오류 출력에서 "\r"이 내 " ll
"에 추가되는 것을 볼 수 있습니다.
내가 입력한 두 번째 명령은 간단한 ENTER였습니다. 오류 출력에서 "ENTER"에 "\r"이 추가되는 것을 볼 수 있습니다.
emacs 외부: cmd.exe 셸에서 bash를 호출하면 모든 것이 예상대로 작동합니다.
bash는 cygwin 64비트에서 가져온 것입니다. 도움이 된다면 Windows 11 Professional을 사용하고 있습니다. emacs는 cygwin이나 WSL이 아닌 Windows 네이티브용으로 제작되었습니다.http://gnu.bardia.tech/gnu/emacs/windows/emacs-28/emacs-28.1-installer.exe.
이 문제를 어떻게 해결해야 합니까?
답변1
유망한 후보자원인:
해당 터미널은 \r\n
줄 끝에서 CR+LF(" " Windows/DOS/...) 를 보내고
Bash는 LF만 예상합니다(예: Linux 규칙).
Cygwin-Bash가 해당 항목을 필터링하도록 설득할 수 있는지 확인하십시오 \r
. 가능한지 여부는 알 수 없습니다.
다른 대안; emacs가 좀 더 "표준적인" 터미널을 실행하도록 만듭니다. 예를 들어 rxvt
Cygwin에서.