I'm using 2 HDD on my laptop (Mac Os 10.8
) and I'd like to automaticaly un-plung the unused one by using a shell script. The problem is that the names (?) can change randomly, today I've got this :
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
but at the next reboot they might have switch disk0
and disk1
.
I try this script :
diskutil list | grep -e 'disk1s4'
if [$? == 0]
then `hdiutil eject disk1`
else `hdiutil eject disk0`
fi
but something is wrong and I don't know what...
How about this:
diskutil list [disk]
in a loop over the disk namesdisk_to_eject
$disk_to_eject
is not empty, eject that disk?The code would be:
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