/ / BASH - Глобални изрази с квадратни скоби: [... - ...] - bash, shell, unix

BASH - Глобални изрази с квадратни скоби: [... - ...] - bash, shell, unix

Аз изпращам тук, защото не съм разбралнещо за изразите на bash globbing. Четох POSIX и определението на този конкретен тип израз (тези с квадратни скоби) и докато тествах, направих този тест:

bash-3.2$ ls
a.out    c.cou    tab_maker.c

bash-3.2$ ls [!c-t]
ls: [!c-t]: No such file or directory

bash-3.2$ ls [!c-t]*
a.out

bash-3.2$ ls [!c-to]*
a.out

bash-3.2$ ls [!cv-to]*
a.out    tab_maker.c

bash-3.2$

Това, което не разбирам, е как башът интерпретира тази команда? Когато го направя ls [!c-t]*, bash уловът a.out само (което е логично за мен), но защо го хвана tab_maker.c с последния тест? Има ли нещо, което трябва да знам, или просто недефинирано поведение?

Отговори:

1 за отговор № 1

Нищо не съвпада [v-t], тъй като между тях няма символи v и t. [!cv-to] е следователно еквивалентна на [!co].

Опитвам [t-v] вместо.