首页 > 解决方案 > ZFS 创建大括号扩展,如 mkdir -p

问题描述

如 zfs 手册所述,-p与 mkdir -p 具有相同的效果。我知道这{...}是一个大括号扩展。那么,有没有办法在 zfs create 命令下存档类似的东西,或者我错过了什么?

zfs create -p -o recordsize=1M tank/media/{movies,music,series}

我收到了这个错误:

too many arguments
usage:
        create [-pu] [-o property=value] ... <filesystem>
        create [-ps] [-b blocksize] [-o property=value] ... -V <size> <volume>

For the property list, run: zfs set|get

For the delegated permission list, run: zfs allow|unallow

我在 freenas 上使用 bash/zfs(全新安装)。

标签: bashshellfreebsdzfs

解决方案


正如@richard-smith在评论中指出的那样,大括号扩展将您的命令扩展为:

zfs create -p -o recordsize=1M tank/media/movies tank/media/music tank/media/series

这是不正确的。要创建多个文件系统,您必须使用循环:

for path in tank/media/{movies,music,series}; do zfs create -p -o recordsize=1M "$path"; done

推荐阅读