Linux.by
https://forum.linux.by/

Подстановка имени файла для команды mkdir в bash
https://forum.linux.by/viewtopic.php?f=1&t=10936
Страница 1 из 1

Автор:  nix_user [ 16 июн 2010, 11:53 ]
Заголовок сообщения:  Подстановка имени файла для команды mkdir в bash

Возникла задача создать множество каталогов во время ее решения возник интересный момент.

Создаем каталоги вида 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:

Автор:  nix_user [ 17 июн 2010, 12:59 ]
Заголовок сообщения:  Re: Подстановка имени файла для команды mkdir в bash

Прочитав man bash внимательно все стало на свои места.

В случае с {} Brace Expansion
This mechanism is similar to pathname expansion, but the filenames generated need not exist.

Для Pathname Expansion файлы должны существовать.

Так что всё работает правильно. Это два разных механизмы.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/