2015-08-27 45 views
4

我试图用mkdir命令,它应该具有以下结构创建一个文件夹树:的mkdir问题

rootfs 
├── Fol1 
│   ├── Fol11 
│   └── Fol12 
└── Fol2 

我已成功创建使用

mkdir -p /rootfs/{Fol1/{Fol11,Fol12},Fol2} 

这棵树然而文件夹rootfs应该是可变的,这就是为什么我试过

ROOT=/rootfs 
FOLDERTREE=/{Fol1/{Fol11,Fol12},Fol2} 
mkdir -p "$ROOT$FILETREE" 

虽然echo "$ROOT$FILETREE"个收益率究竟/rootfs/{Fol1/{Fol11,Fol12},Fol2}我得到一个错误的文件树

rootfs 
└── {Fol1 
    └── {Fol11,Fol12},Fol2} 

我在做什么错在这里?

回答

5

大括号不会在变量替换的结果中处理。用途:

mkdir -p "$ROOT"/{Fol1/{Fol11,Fol12},Fol2} 
4

您可以使用BASH阵列保留所有的目录路径为:

dirs=("${ROOT}"/{Fol1/{Fol11,Fol12},Fol2}) 

然后将其创建为:

mkdir -p "${dirs[@]}"