Итак, как следует из названия, я пытаюсь создать ожидаемый сценарий, который будет запускать fsck на моем поврежденном диске. Цель состоит в том, чтобы отремонтировать диск, чтобы я мог смонтировать его и восстановить с него данные.
При запуске команды вручную я получаю:
Вероятно, поврежден суперблок или таблица разделов!
Прервать y?
Если я укажу «НЕТ» , он начнет проверку, и я получу:
/ dev / footage / TrickCeratops содержит файловую систему с ошибками, проверка принудительная.
Пропуск 1: Проверка узлов, блоков и размеров
Ошибка чтения блока 1221066784 (неверный аргумент) при получении следующего индекса от сканирования. Игнорировать ошибку y?
Затем я могу заявить "ДА" , чтобы двигаться вперед, и он снова подскажет мне:
Принудительно переписать y?
Здесь я сталкиваюсь с проблемой ... Я могу автоматизировать до первых двух ответов, но не могу получить ожидаемый сценарий для ответа "ДА" на "Принудительно переписать?"
Пока мой сценарий выглядит так:
#!/bin/bash
expect -c'
set timeout -1
set temp password
spawn ./e2fsckscript.sh
expect "password for user:"
send "$temp\r"
expect "Abort<y>?"
send "no\r"
expect {
"Ignore error<y>?"{
send "yes\r"
}
"Force rewrite<y>?"{
send "yes\r"
}
exp_continue
}
'
Спаун "./e2fsckscript.sh" просто запускает команду:
sudo e2fsck -b 32768 / dev / footage / TrickCeratops