我网上有这个:
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