如何配置bash打印utf8错误信息?

时间:2012-06-08 16:17:41

标签: bash utf-8 freebsd

在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版本:

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这是Bash 4.2中的新功能。请参阅this

  

bash-4.2中有一个更改,用于在错误消息中打印字符   如果isprint()对字符串中的任何字符都失败,则使用ANSI-C转义。   它旨在使文件名中的\ r \ n可见。它进来了   来自cygwin,但通常很有用。

     

切特

Chet Ramey是Bash的维护者。