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

时间:2016-04-19 20:23:53

标签: bash shell mkdir

我确定在其他地方已经问过这个问题,但我似乎无法以一种有效的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循环。

2 个答案:

答案 0 :(得分:2)

您的愿望是: - )。

mkdir不知道也不必,但像bashzsh这样的shell会理解语法{...,...,...}

只需删除"中的空格"它有效:

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完成的,因此它适用于任何命令。

答案 1 :(得分:1)

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

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