bash - bash 脚本中的 mkdir 问题

标签 bash 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}

我在这里做错了什么?

最佳答案

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

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

关于bash - bash 脚本中的 mkdir 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32242978/

相关文章:

Python mkdir 给我错误的权限

bash - 解析 $( ) 内的 '

linux - 在 bash 关联数组中使用变量作为键

在c中创建目录

python - 遍历子目录,到示例文件

使用 mkdir 过程 AS400/IBMi 在 IFS 中创建目录

vba - 使用 VBA 在 Sharepoint 中创建新文件夹

linux - 为什么 bash 将双引号转换为单引号?

linux - bash脚本编制:退出状态

bash - 如何找到当前的 shell 命令