1

bash での UTF-8 の扱いがおかしい。

$ á
bash: $'\303\241': command not found

tcshを実行すると、

$ tcsh   #or exec tcsh
> á
á: Command not found.

何が間違っている可能性がありますか?utf8 の bash を正しくセットアップするには?

この質問を重複としてマークする前に、次の質問もお読みください。

私の.inputrc

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off

set show-all-if-ambiguous On

"\e[A": history-search-backward
"\e[B": history-search-forward

set -o vi

私のENV:

LOCALE=UTF-8;           export LOCALE
LESSCHARSET='utf-8';    export LESSCHARSET
LANG=en_US.UTF-8;       export LANG
LC_ALL=en_US.UTF-8;     export LC_ALL

IMO、bashでutf8を処理するために必要なことをすべて実行しました。

バッシュのバージョン:

bash --version
GNU bash, version 4.2.28(0)-release (amd64-portbld-freebsd9.0)

何か案が?

4

1 に答える 1

1

これはBash4.2の新機能です。これを参照してください。

文字列内のいずれかの文字に対してisprint()が失敗した場合に、ANSI-Cエスケープを使用してエラーメッセージに文字を出力するbash-4.2に変更があります。これは、ファイル名の\rのようなものを表示することを目的としています。cygwinから入ったものですが、一般的には便利です。

チェット

ChetRameyはBashのメンテナーです。

于 2012-06-08T16:59:36.023 に答える