以下脚本用于检查 Macintosh 上任何驱动器的 SMART 状态。
它工作得很好,但我想知道是否有一种更优雅的方式来首先列出,然后循环遍历所有结果,diskutil list | grep /dev/
因为该命令将始终列出所有连接的设备,从而使脚本可移植。
有没有更好的方法可以在不首先输出到 $DISKLIST 日志文件的情况下执行此操作?也欢迎其他建议!
# Check SMART status
DISKLIST=`mktemp -t DISK-XXXXX.log`
diskutil list | grep /dev/ > $DISKLIST
for i in `cat $DISKLIST` ;
do
STATUS=$(diskutil info $i | awk -F': *' '/SMART/{print $2}')
if [ "$STATUS" = "Verified" ]; then
echo "SMART Status OK for disk $i"
else
echo "** SMART Status $STATUS for disk $i **"
fi
done
rm $DISKLIST
例如,这些是脚本中 key 命令的典型结果:
$ diskutil list | grep /dev/
/dev/disk0
/dev/disk1
/dev/disk2
/dev/disk3
/dev/disk4
/dev/disk5
/dev/disk6
/dev/disk7
/dev/disk8