В настоящее время я пишу сценарий, который должен проверять состояние безопасности ATA для каждого устройства, указанного в файле.
Состояние безопасности ATA проверяется с помощью команды smartctl -g security "$drive" | grep -c "ATA Security is:.*NOT FROZEN"
, которая выводит 0 (заморожено) или1 (не заморожен) и был протестирован.
Сценарий в настоящее время выглядит следующим образом:
# get newline as Seperator
IFS=$(echo)
# get drives
drives=$(cat ./sd-freeze.conf)
# check status for each drive
for drive in $drives
do
frozen=$(smartctl -g security "$drive" | grep -c "ATA Security is:.*NOT FROZEN")
echo "$drive"
echo "$frozen"
done
sd-freeze.conf содержит это:
/dev/sda
/dev/sdb
Вывод должен быть:
/dev/sda
1
/dev/sdb
1
Но как-то так:
/dev/sda
/dev/sdb
0
Кто-нибудь знает, почему порядок вывода испорчен (оба устройства не заморожены)?