0

我在我的笔记本电脑上使用了 2 个硬盘Mac Os 10.8驱动器(问题是名称(?)可以随机更改,今天我得到了这个:

MacBook-Pro-de-Thomas:~ thomas$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *250.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS 10.8                    249.7 GB   disk0s2
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS Mac OS X                870.0 GB   disk1s2
   3:       Microsoft Basic Data Windows                 79.9 GB    disk1s3
   4:       Microsoft Basic Data                         50.0 GB    disk1s4

但在下次重新启动时,他们可能会有 switchdisk0disk1.

我试试这个脚本:

diskutil list | grep -e 'disk1s4'
if [$? == 0] 
    then `hdiutil eject disk1`
    else `hdiutil eject disk0`
fi

但出了点问题,我不知道是什么...

4

1 回答 1

1

这个怎么样:

  1. diskutil list [disk]在磁盘名称上循环运行
  2. 对于每个磁盘,如果它有一个名称中带有“Microsoft”的分区,则将磁盘名称保存到变量中disk_to_eject
  3. 循环完成后,如果$disk_to_eject不为空,则弹出该磁盘?

代码将是:

disk_to_eject=
for disk in disk0 disk1; do
    if diskutil list "$disk" | grep -q Microsoft; then
        disk_to_eject="$disk"
    fi
done

if [ -n "$disk_to_eject" ]; then
    hdiutil eject "$disk_to_eject"
fi
于 2013-07-05T07:20:07.690 回答