2

我有一个包含多个文件夹的目录。我想制作一个 bash 脚本来在不同的位置创建具有相同名称的目录。

请注意,我不想复制文件夹结构,也不想复制或移动文件夹。我只想在不同的位置创建具有相同名称的文件夹。

我被困住了。使用这个:

for d in "template/modules/*"
do
    # mkdir $(basename "$d");
    echo $d;
    echo "$d";
    echo $(basename "$d");
done

输出:

template/modules/introduction template/modules/kitchen template/modules/test
template/modules/*
add_module.sh template

有任何想法吗?

干杯

4

3 回答 3

6

您需要将星号放在引号之外:

for d in "template/modules/"*

在第一个echo,$d扩展的,但当你引用它时,它不是。

于 2012-09-27T14:39:19.363 回答
3

要复制目录结构,您可以这样做:

$ cd template/modules
$ find . -type d -maxdepth 1 -exec mkdir -p ../../{} \;
于 2012-09-27T14:00:29.133 回答
1

试试这个:

for d in "template/modules/*"
do
   mkdir $(basename "$d")
done
于 2012-09-27T13:28:22.860 回答