необъяснимая нечувствительность к регистру Linux в стандартном расширении имени файла - PullRequest
1 голос
/ 06 июня 2019

Я не понимаю.Как это соответствие?

$: 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.Я просто хочу анонимные версии символических ссылок для цикла, а не фактические версионные файлы.

1 Ответ

4 голосов
/ 06 июня 2019

То, что соответствует [a-z], зависит от текущего locale. При LC_COLLATE=C, [a-z] соответствует [abcdefghijklmnopqrtuvwxyz], но при некоторых других настройках, например, en_US, соответствует [aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYz] - обратите внимание, что Z не соответствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...