私は「シェル」を呼び出し、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
。エラー出力から、" ll
" に "\r" が追加されていることがわかります。2
番目に入力したコマンドは単純な ENTER です。エラー出力から、"ENTER" に "\r" が追加されていることがわかります。
emacs 外部: cmd.exe シェルから bash を呼び出すと、すべてが期待どおりに動作します。
bashはcygwin 64ビット版です。参考になれば幸いです。私はWindows 11 Professionalを使用しています。emacsはWindowsネイティブ(cygwinやWSLではない)用に構築されています。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
- それが可能かどうかはわかりません。
rxvt
他の代替案: emacs に、たとえばCygwin から、より「標準的な」ターミナルを起動させます。