подтвержденный выход с использованием ловушки - PullRequest
1 голос
/ 28 июня 2011

Я пытаюсь перехватить сигнал Ctrl + C , запрашивающий подтверждение у пользователя.Ловушка работает нормально.Но как только сигнал попадает в ловушку и пользователь нажимает NO, он не возвращается к нормальному выполнению.Вместо этого он выходит из сценария.Как заставить его возобновить выполнение, когда пользователь нажимает no?

Вот мой код:

hell()
{
    echo "Do you want to quit? Press 1 for yes and 0 for no";
    read n;
    if [ $n == 1 ]; then
    exit 1;
    fi
}

trap "hell" SIGINT

find /

1 Ответ

0 голосов
/ 28 июня 2011

Проблема в том, что сигнал INT принимается вашим сценарием И вашей командой find /, поэтому он выходит.

Вы можете полностью игнорировать сигнал (ы) с помощью:

trap '' SIGNINT

Я не знаю, возможно ли перехватить сигнал и предотвратить его получение вашими командами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...