如何在FreeBSD中使用mkdir创建多个子目录?
问题描述:
我正在使用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下工作。任何人都可以解释?谢谢
答
使用默认的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
我相信大括号的扩展是shell的责任。您需要调查您正在使用的外壳,或切换到您找到的示例中使用的同一个外壳。 –