В моей системе / dev / sda в настоящий момент заморожена, а / dev / sdb не заморожена, как показано здесь:
# hdparm -I /dev/sda | grep frozen
frozen
# hdparm -I /dev/sdb | grep frozen
not frozen
Просто добавьте $d
к вашей команде echo
, чтобы увидеть устройство и его правильное соответствующее значение (я позволил себе заменить длинную команду awk
гораздо более короткой grep
):
# for d in $(ls /sys/block) ; do is_frozen=$(hdparm -I /dev/$d | grep frozen) ; echo $d $is_frozen ; done
HDIO_DRIVE_CMD(identify) failed: Invalid argument
loop0
...
sda frozen
sdb not frozen
Если вы хотите очистить вывод, замените ls
на find
:
# for d in $(find /sys/block -name 'sd*' -exec basename {} \;) ; do is_frozen=$(hdparm -I /dev/$d | grep frozen) ; echo $d $is_frozen ; done
sda frozen
sdb not frozen
или ls
запрос /dev/sd?
вместо:
# for d in $(ls -1 /dev/sd?) ; do is_frozen=$(hdparm -I $d | grep frozen) ; echo $d $is_frozen ; done
/dev/sda frozen
/dev/sdb not frozen