Создание папок во вложенных папках не работает

Я пытаюсь создать сотни папок с сотней вложенных папок в каждом из них.

Я сделал этот код, но он не работает:

for i in {0..100}
 do 
 mkdir "folder{$i}"
 topfolder = "folder{$i}"
 cd $topfolder
 for a in {0..100}
 do
 mkdir "folder{$a}"
 done
done

Не могли бы вы дать мне совет?

2 ответа

Чтобы сделать каталоги рекурсивно, вам нужно ввести каталог, а затем создать подкаталоги.

Здесь нужно внести изменения.

for i in {0..100}
 do 
 mkdir "folder{$i}"
 cd "folder{$i}"
 for a in {0..100}
 do
 mkdir "folder{$a}"
 done
 cd ..
done


В bash нет пробелов в переменных присваиваниях. Кроме того, ваш скрипт можно упростить, используя mkdir -p, который создает родительские каталоги одновременно с подкаталогами, если они еще не существуют:

for i in {0..100}; do
 for a in {0..100}; do
 mkdir -p "folder${i}/folder${a}"
 done
done

Другая проблема заключалась в том, что ваши фигурные скобки были неправильно расположены вокруг ваших параметров (я предполагаю, что вам нужны каталоги с именем folder0, а не с folder{0}).

Как было предложено gniourf_gniourf в комментариях (спасибо), циклы действительно могут быть полностью удалены:

mkdir -p folder{0..100}/folder{0..100}

licensed under cc by-sa 3.0 with attribution.