Обычно команды имеют статус выхода. Если ваши задачи хорошо написаны, состояние выхода должно быть ненулевым, если задание не выполнено, и нулевым, если задание выполнено успешно. Итак, в bash вы должны написать что-то вроде:
#!/bin/bash
if Task_1 ; then
echo 'Task_1 succeeded'
else
#give option to rectify the problem
fi
и т. Д. Для оставшихся задач.
Вы также можете использовать код завершения последней задачи, $?
, как в
Task_1
if [ $? != 0 ] ; then
echo "Despair! Task_1 has failed"
# allow the user to do some reparations
fi
Предоставление пользователю возможности восстановить зависит в значительной степени от того, как это делается и какова ваша среда.
Например, вы можете представить меню с фиксированные действия, такие как:
echo "a for abandon hope, b for be despaired"
read line
case "$line" in
("a")
# actions for abandoning hope
;;
("b")
# actions for being despaired
;;
("*")
echo "Unknown action; continuing without doing anything."
;;
esac
или иногда вы можете просто запустить xterm:
echo "Close terminal when the repair is finished"
xterm
(простите за мрачные примеры)