通过标签挂载多个卷而不重复命令?

通过标签挂载多个卷而不重复命令?

我网上有这个: diskutil mount VOL1 && diskutil mount VOL2 && diskutil mount VOL3

但我不想使用内联数组重复命令“diskutil mount”。我正在尝试寻找以下风格的解决方案:diskutil mount {VOL1,VOL2,VOL3}

那xargs是怎么写的呢?

答案1

根据diskutil 手册页,该mount命令明确设计用于安装单个卷(强调我的):

挂载 [只读]​​ [-mountPoint 路径] 设备

安装单个卷。如果指定了 readOnly,则文件系统将以只读方式安装,即使卷的底层文件系统和/或设备和/或介质支持写入;即使是超级用户也不能写入;这与 mount (8) 的 rdonly 选项相同。如果指定了 -mountPoint,则该路径(而不是 /Volumes/VolumeName 的标准路径)将用作卷文件内容的视图;该路径中的目录必须已存在。

这意味着您无法执行diskutil mount {VOL1,VOL2,Vol3}扩展为 的简单操作diskutil mount VOL1 VOL2 Vol3。但是,您确实可以xargs按照您的建议进行操作:

printf '%s\n' {VOL1,VOL2,VOL3} | xargs -I{} diskutil mount {}

或者用一个简单的循环:

for i in {VOL1,VOL2,VOL3}; do diskutil mount "$i"; done

相关内容