2015-08-27 66 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[@]}"