我有使用与OSX 10.11控制台命令对应的通配符路径(但我想这将是对Linux的类似)在bash的通配符路径使用UTF-8字符的命令
我有事件和日期命名的文件夹的结构问题以捷克语言。
我需要按月在子文件夹中列出文件。我想用通配符那样:
ls export/*prosince\ 2013/*
虽然这工作,当我想在通配符使用UTF8我得到“没有这样的文件或目录”
ls export/*září\ 2013/*
地点看起来正确
winsik:Fotky vita$ locale
LANG="cs_CZ.UTF-8"
LC_COLLATE="cs_CZ.UTF-8"
LC_CTYPE="cs_CZ.UTF-8"
LC_MESSAGES="cs_CZ.UTF-8"
LC_MONETARY="cs_CZ.UTF-8"
LC_NUMERIC="cs_CZ.UTF-8"
LC_TIME="cs_CZ.UTF-8"
LC_ALL=
在shell命令中如何使用utf8字符?
编辑:我发现了奇怪的情况,如果我让终端用Tab键完成一些UTF8路径,然后使用这些字符,那么它的作品,但是当我通过键盘键入它不 - 在terminal.app和iterm2.app
winsik:Fotky vita$ bind -v | grep meta
set convert-meta off
set input-meta on
set meta-flag on
set output-meta on
什么是Bash Readline配置中的元变量设置为? IIRC'bind -V | grep meta' – tripleee
附加到问题中,我目前也发现了奇怪的行为 - 请参阅编辑 –
我可以推测Bash使用的Unicode规范化方式与您的系统不同,但这是一个非常严重的错误。还是有可能这些文件位于外部文件系统上,且具有非默认或破坏的规范化?换句话说,文件名中的编码字节是什么,以及在提示符下键入它们的时间?您的终端也可能是罪魁祸首,但是如果您在控制台上使用默认终端,那看起来更不可能。 – tripleee