[英]mkdir issue in bash script
我正在嘗試使用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}
我確實得到了錯誤的filetree
rootfs
└── {Fol1
└── {Fol11,Fol12},Fol2}
我在這做錯了什么?
變量替換的結果中不處理大括號。 采用:
mkdir -p "$ROOT"/{Fol1/{Fol11,Fol12},Fol2}
您可以使用BASH陣列將所有目錄路徑保留為:
dirs=( "${ROOT}"/{Fol1/{Fol11,Fol12},Fol2} )
然后創建為:
mkdir -p "${dirs[@]}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.