/ / przechwytywanie zakończenia linii poleceń podczas instalacji - linux, bash

przechwytywanie zakończenia linii poleceń podczas instalacji - linux, bash

Piszę skrypt, który automatyzujeinstalacja ffmpeg na naszych serwerach. Jak na razie działa. Aby skrypt był bardziej przyjazny dla użytkownika, chciałbym przedstawić coś w skrypcie, który przechwytuje zakończenie instalacji za pomocą Ctrl + C lub Ctrl + Z itp. I daje wyjście typu „Zakończenie na żądanie użytkownika” lub coś tego rodzaju. Rzecz w tym, że nie wiem, czy możliwe jest przechwycenie tych znaków za pomocą skryptu. tutaj i chciałbym wiedzieć, czy jest to właściwy sposób. Jeśli tak, to czy istnieje control_c () i czy jest odpowiednik control_z ()?

wszelka pomoc jest doceniana. Z góry dziękuję

Odpowiedzi:

2 dla odpowiedzi № 1

tak, używając trap jest drogą do zrobienia

control_c()
# run if user hits control-c
{
echo -en "n*** Ouch! Exiting ***n"
cleanup
exit $?
}

# trap keyboard interrupt (control-c)
trap control_c SIGINT

i wychwycić sygnał wysłany z Kontrola-Z klucz, musisz złapać pułapkę SIGTSTP sygnał:

control_z()
{
echo -e "n*** Suspending asked... Exiting! ***"
cleanup
exit $?
}

trap control_z SIGTSTP