Fsck Expect Script - PullRequest
       55

Fsck Expect Script

0 голосов
/ 05 июля 2018

Итак, как следует из названия, я пытаюсь создать ожидаемый сценарий, который будет запускать 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

...