не могу запустить команды в bash, вызванные из оболочки emacs в windows

не могу запустить команды в bash, вызванные из оболочки emacs в windows

Я вызвал "shell", который правильно запускает 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: когда я вызываю bash из оболочки cmd.exe, все работает так, как и ожидалось.

Bash взят из cygwin 64-bit, если это поможет, а у меня Windows 11 Professional. Emacs был собран для Windows Native (не cygwin или WSL) изhttp://gnu.bardia.tech/gnu/emacs/windows/emacs-28/emacs-28.1-installer.exe.

Как мне это исправить?

решение1

Вероятныйпричина:
Этот терминал отправляет CR+LF (" \r\n" Windows/DOS/...) в конце строки,
Bash ожидает только LF (например, соглашение Linux).

Попробуйте убедить Cygwin-Bash отфильтровать \r... Не знаю, возможно ли это.

Другая альтернатива: заставить emacs запустить более «стандартный» терминал; например, rxvtиз Cygwin.

Связанный контент