无法解释的 linux 标准文件名扩展中的大小写不敏感
unexplained linux case insensitivity in standard filename expansion
我不明白。这个搭配怎么样?
$: shopt nocaseglob
nocaseglob off
$: printf "%s\n" parser/*[a-z].jar
parser/parser-1.9.2.RELEASE.jar
parser/parser.jar
它是集群中的虚拟机,而不是 Windows 机器上的仿真。
$: cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
我正在尝试进行简单的区分大小写的匹配,以排除 .jar
前面的任何非小写字母。我只想要一个循环的版本匿名符号链接,而不是实际的版本化文件。
[a-z]
匹配的内容取决于当前 locale
。在 LC_COLLATE=C
下,[a-z]
匹配 [abcdefghijklmnopqrtuvwxyz]
,但在某些其他设置下,例如en_US
,它匹配 [aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYz]
- 注意 Z
不匹配。
我不明白。这个搭配怎么样?
$: shopt nocaseglob
nocaseglob off
$: printf "%s\n" parser/*[a-z].jar
parser/parser-1.9.2.RELEASE.jar
parser/parser.jar
它是集群中的虚拟机,而不是 Windows 机器上的仿真。
$: cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
我正在尝试进行简单的区分大小写的匹配,以排除 .jar
前面的任何非小写字母。我只想要一个循环的版本匿名符号链接,而不是实际的版本化文件。
[a-z]
匹配的内容取决于当前 locale
。在 LC_COLLATE=C
下,[a-z]
匹配 [abcdefghijklmnopqrtuvwxyz]
,但在某些其他设置下,例如en_US
,它匹配 [aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYz]
- 注意 Z
不匹配。