7

過去にMinGWとmsysを正常にインストールして使用し、Windows実行可能ファイルをコンパイルおよびリンクしました。32 ビット Vista (以前に成功したときと同じプラットフォーム) の新規インストールで、いくつかの厄介な動作が発生します: 提供されたシェル環境で小文字の 'e' または大文字の 'P' を入力すると、ビープ音は聞こえるが文字がない! つまり、たとえば、「make」または「echo」と入力してそれらのコマンドを実行することはできません。それは次のとおりです:mak-BEEP!

この「e」ビープ音は、インストーラーによって生成されたショートカットを介して msys を呼び出すと開くシェルで発生し、シェルでは c:\msys\1.0\bin に移動して bash.exe、sh をダブルクリックするだけで発生します。 .exe、rxvt.exe (実際には、ぱりっとしたビープ音よりもくぐもったノイズパフがあります)、常に小文字の 'e' と大文字の 'P' は端末 (またはシェル? 明らかに私はしません) にエコーしませんこれらの用語の違いを理解してください)。

自動化された MinGW および msys インストーラーと、同じ目的での新規手動インストールを試しました。

私はシェルをよく理解していませんし、起動時に環境がどのように進化するかについてもよく理解していません。

4

2 に答える 2

12

Bash を使用していると仮定します。何らかの理由でキーバインドが台無しになっているように思えます。

このコマンドを実行すると:

bind -p|grep -i '"[pE]"'

次の結果が得られるはずです。

"E": self-insert
"e": self-insert
"P": self-insert
"p": self-insert

「P」と「e」のエントリがない場合は、これらのコマンドを試してください。

bind '"e":self-insert'
bind '"P":self-insert'

明らかに、文字を入力することはできないため、大文字と小文字を逆にして入力し、左矢印キーを押してから、Alt-u を押して小文字の「p」を大文字にするか、Alt-l (小文字の「エル」) を押して、大文字の "E" を小文字にします (最初のコマンドの "e"ごとにこれを行う必要があります)。

~/.inputrcそれが機能する場合は、ファイルに無効なキーバインドがないか確認してください。また、 などの起動ファイルを確認してください~/.bashrc。この問題は、引用符の欠落または配置ミスが原因である可能性が高く、\ePデフォルトで readline 関数にバインドされているようなキー バインディングが原因である可能性がありますdo-lowercase-version

于 2011-02-05T08:15:18.970 に答える
0

ディレクトリ C:\Documents and Settings\yourusername に、「.bashrc」という名前のファイルがあります。次の 2 行を追加します bind '"e":self-insert' bind '"P":self-insert'

デニス・ウィリアムソン、どうもありがとう!この問題は私を長い間悩ませました。

于 2011-06-02T09:34:22.290 に答える