使用Debian 11,tcsh版本
tcsh 6.21.00 (Astron) 2019-05-08 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,nd,color,filec
在包含两个文件的目录中,a
和A
,
$ echo [a-z]
a A
这是从刚刚扩张到的一个意想不到的变化a
。我希望这种行为与语言环境相关,并且使用wide
和nls
选项构建的 tcsh 应该尊重语言环境设置 AIUI - 但更改LC_ALL
为C
而不是en_US.UTF-8
不会改变它。
在最近的某个时刻(比我几个月前的 Debian 11 升级更近),某些东西一定发生了变化,从而影响了排序规则行为。花半个小时浏览手册页和相关文档并没有发现任何有用的东西。只有 tcsh 和 csh 会出现这种行为,bash/dash/sh 不会。
虽然我认为为了可移植性,应该使用 POSIX 字符类,但我并不担心这个问题的可移植性。我只想确定如何恢复我习惯的 ASCII 排序规则行为。
答案1
更新:这似乎是 tcsh 中的一个错误。我从头开始构建了最新的 tcsh 6.23.00,字符类按预期工作。向 Debian 报告,已经固定在上游https://github.com/tcsh-org/tcsh/commit/4679bde3e1ceca63d6eb4de5ce41c996405e61aa作为邮件列表中注明