mkdir:创建多个目录时省略前导路径名?

mkdir: omit leading pathname when creating multiple directories?

我敢肯定这个问题已经在其他地方被问过,但我似乎无法用 returns 有用的 Google 结果来表达它。

我正在创建十几个目录,它们都具有相同的根路径,我不想必须 cd 进入其中才能创建这些目录。当前命令看起来很糟糕且重复:

$ mkdir frontend/app/components/Home frontend/app/components/Profile \ 
  frontend/app/components/Post frontend/app/components/Comment

理想的语法应该是这样的:

$ mkdir frontend/app/components/{Home, Profile, Post, Comment}

是否已经有类似的东西我只是没有找到?我不想为了制作几个目录而 运行 一个 for 循环。

删除逗号周围的空格并使用 -p 选项:

mkdir -p frontend/app/components/{Home,Profile,Post,Comment}

你的愿望实现了:-)。

mkdir 不知道也不必知道,但是 shell 像 bashzsh 理解语法 {...,...,...}

只需删除 "along the lines of" 中的空格即可:

mkdir frontend/app/components/{Home,Profile,Post,Comment}

shell 将其扩展为

mkdir frontend/app/components/Home frontend/app/components/Profile frontend/app/components/Post frontend/app/components/Comment

因为它是由 shell 完成的,所以它适用于任何命令。