在目录中创建多个文件而不更改当前目录

时间:2015-01-25 08:29:28

标签: macos bash unix

我在我的mac机器中使用下面的命令:

mkdir views && touch views/layout.erb views/home.erb views/about.erb views/contact.erb

它按预期工作。但我正在寻找一些东西,所以我不必使用目录名称(视图)来创建/触摸每个文件。

3 个答案:

答案 0 :(得分:4)

您可以使用bash扩展来简化:

mkdir views && touch views/{layout,home,contact}.erb

答案 1 :(得分:2)

您可以执行以下操作:

mkdir views && touch views/{layout,home,about,contact}.erb

或者您可以更改子shell中的目录,这样您当前shell的工作目录就不会改变:

mkdir views && (cd views && touch layout.erb home.erb about.erb contact.erb)

另一种选择是使用循环:

mkdir views && for f in layout home about contact ; do touch views/${f}.erb ; done

答案 2 :(得分:1)

mkdir views && pushd views && touch layout.erb home.erb about.erb contact.erb && popd

或者:

mkdir views && (cd views && touch layout.erb home.erb about.erb contact.erb)