【问题标题】:ZFS create brace expansion like mkdir -pZFS 创建大括号扩展,如 mkdir -p
【发布时间】:2020-02-11 09:07:06
【问题描述】:

如 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(全新安装)。

【问题讨论】:

  • shell 会将tank/media/{movies,music,series} 扩展为tank/media/movies tank/media/music tank/media/series,这对于zfs create 来说显然参数太多了。您可以尝试将命令包装在 shell for 循环中。

标签: bash shell freebsd zfs


【解决方案1】:

正如@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-03
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    相关资源
    最近更新 更多