2015-09-06 127 views
1

我正在使用mkdir在FreeBSD 10.2下創建目錄。我知道-p選項使我能夠非常容易地創建一個/ b/c(mkdir -p a/b/c)。現在我想要一個有兩個兒子目錄b和c(a/c,a/b)。是否有可能通過僅使用一個mkdir命令來完成該操作?我尋覓了網,發現:如何在FreeBSD中使用mkdir創建多個子目錄?

mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a} 

號稱產生以下結果:

project/ 
project/lib/ext 
project/bin 
project/src 
project/doc/html 
project/doc/info 
project/doc/pdf 
project/demo/stat/a 

然而,這並不在FreeBSD下工作。任何人都可以解釋?謝謝

+0

我相信大括號的擴展是shell的責任。您需要調查您正在使用的外殼,或切換到您找到的示例中使用的同一個外殼。 –

回答

1

使用默認的tcsh shell在這裏工作正常(FreeBSD 10.2-STABLE amd64);

> mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a} 
> find . 
. 
./project 
./project/lib 
./project/lib/ext 
./project/bin 
./project/src 
./project/doc 
./project/doc/html 
./project/doc/info 
./project/doc/pdf 
./project/demo 
./project/demo/stat 
./project/demo/stat/a 

它確實在Bourne shell中,sh工作。

+0

是的,沒錯。這是shell的問題。 – PPJack