在嵌套文件夹中创建文件夹不起作用

Vác*_*man 1 linux bash

我正在尝试创建数百个文件夹,每个文件夹中包含另外100个嵌套文件夹.

我已经制作了这段代码,但它不起作用:

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
Run Code Online (Sandbox Code Playgroud)

你能给我一个建议吗?

Tom*_*ech 5

bash中的变量赋值中没有空格.此外,您的脚本可以通过使用来简化,mkdir -p如果子目录尚不存在,则会与子目录同时创建父目录:

for i in {0..100}; do
  for a in {0..100}; do
    mkdir -p "folder${i}/folder${a}"
  done
done
Run Code Online (Sandbox Code Playgroud)

另一个问题是你的花括号错误地放在你的参数周围(我假设你想要命名的目录folder0,而不是folder{0}).

正如gniourf_gniourf在评论中所建议的那样(感谢),实际上可以完全删除循环:

mkdir -p folder{0..100}/folder{0..100}
Run Code Online (Sandbox Code Playgroud)