在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)
有什么想法吗?
答案 0 :(得分:1)
这是Bash 4.2中的新功能。请参阅this。
bash-4.2中有一个更改,用于在错误消息中打印字符 如果isprint()对字符串中的任何字符都失败,则使用ANSI-C转义。 它旨在使文件名中的\ r \ n可见。它进来了 来自cygwin,但通常很有用。
切特
Chet Ramey是Bash的维护者。