[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash pathname expansion



On Sun, Jun 25, 2006 at 11:10:27PM +0400, Stanislav Maslovski wrote:
> Доброго времени суток,
> 
> Имеем:
> 1) GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
> 2) вот такое дерево директорий и файлов
> .
> |-- A  \
> |-- B  | <- директории
> |-- C  |
> |-- D  /
> |-- a  \
> |-- b  | <- файлы
> |-- c  |
> `-- d  /
> 
> 4 directories, 4 files
> 
> $ echo *
> a A b B c C d D
> 
> $ echo [abcd]
> a b c d
> 
> $ echo [ABCD]
> A B C D
> 
> А вот сюрприз:
> $ echo [a-d]
> a A b B c C d
> 
> $ echo [A-D]
> A b B c C d D
> 
> Это я что-то не понимаю, или это глюк шелла? Кстати, тот факт, что A B C D -
> это директории, не важен. Просто исторически глюк у меня вылез в подобной
> конфигурации.
> 
> В zsh все работает, как ожидается.

Сам себе отвечаю. Почитал более внимательно маны. Там говорится буквально
следующее:

... Note that when using range  expressions  like  [a-z]
(see  below),  letters  of the other case may be included, depending on
the setting of LC_COLLATE...

... The sorting order of characters in range expressions is determined by the
current locale  and  the value of the LC_COLLATE shell variable, if set...

-- 
Станислав



Reply to: