0

何らかの理由で、Linuxで慣れているコマンドを入力すると、bashの場合と同様に、完全に機能します...しかし、eshellでは機能しません。

次のように、問題を些細で小さなサンプルに絞り込みました。

$ du
c:/Program: command not found
$ which bash
c:/Program Files (x86)/Git/bin/bash.exe

これを機能させるにはどうすればよいですか?(duはデフォルトで何でもです...それはelispに実装されています、私はそこで異常な変更を加えていません、つまり、それは `em-unix.el'のコンパイルされたlisp関数です)

そのコマンドがエラーを検出しなかったというよりも、「1.3GiBのディスク容量を使用しました」という行に沿って何かを期待していました。

4

1 に答える 1

1

は使用しませんが、存在bash.exeする場合は使用できますdu.exe

私のシステムでは:

c: gutov $ which bash.exe
which: no bash.exe in ...
c: gutov $ which du.exe
h:/Apps/System/gnuwin32/bin/du.exe

エラーメッセージから、実行可能ファイル(スペースを含む)へのパスを適切に引用していないため、コマンドが呼び出されて失敗したことがわかります。多分あなたはするべきですM-x report-emacs-bug

全体的に、私はお勧めします:

1)Gitをアンインストールし、PATH環境について尋ねられたら2番目のオプションを選択して再インストールします(「WindowsコマンドプロンプトからGitを実行する」)。これにより、同梱されているUNIXツールがPATHから削除されます。

2)スペースを入れずにいくつかのディレクトリにインストールし、 GnuWin32プロジェクトまたはEliZaretskiのポートからPATHunixツールに追加します。後者は全体的にパッケージが少なくなりますが、たとえば、はるかに高速です。あなたはそれらを混ぜることができます。find

または、スペースを入れずにGitをディレクトリに再インストールするだけで解決できるかもしれません。

于 2012-07-15T18:52:37.140 に答える