Возникла задача создать множество каталогов во время ее решения возник интересный момент.
Создаем каталоги вида user001, user002 ...
mkdir user00{0,1,2,3,4,5,6,7,8,9}
Создаем поткаталоги user001/test, user002/test ...
mkdir user00{0,1,2,3,4,5,6,7,8,9}/test
Пробуем создать подкаталоги user001/test2, user002/test2 ...
другой командой
$ mkdir user00?/test2
mkdir: невозможно создать каталог «user00?/test2»: Нет такого файла или каталога
По идее это должно быть работать. Интересно услышать мнение опытных пользователей это ошибка в оболочке или что-то еще?
Да еще дополнение
команда ls работает с подобной конструкцией отлично. Правда файлы уже существуют.
$ ls user00?/test
user000/test:
user001/test:
Подстановка имени файла для команды mkdir в bash
Re: Подстановка имени файла для команды mkdir в bash
Прочитав man bash внимательно все стало на свои места.
В случае с {} Brace Expansion
This mechanism is similar to pathname expansion, but the filenames generated need not exist.
Для Pathname Expansion файлы должны существовать.
Так что всё работает правильно. Это два разных механизмы.
В случае с {} Brace Expansion
This mechanism is similar to pathname expansion, but the filenames generated need not exist.
Для Pathname Expansion файлы должны существовать.
Так что всё работает правильно. Это два разных механизмы.