#bash #bash-trap #control-c
#bash #bash-ловушка #управление-c
Вопрос:
#!/usr/bin/env bash
# trap ctrl-c and call ctrl_c()
trap ctrl_c INT
function ctrl_c() {
echo
echo "** Trapped CTRL-C: Skipping Current Task **"
echo
}
function ping1 () {
sudo ping 8.8.4.4
sudo ping 1.1.1.1
}
function ping2 () {
sudo ping 8.8.8.8
}
function ping3 () {
sudo ping 8.8.4.4
}
ping1
ping2
ping3
Моя проблема в том, что когда я нажимаю ctrl c, он останавливает выполнение только строки, и я хочу, чтобы он пропустил функцию в целом и перешел к следующей функции
Например, когда я нахожусь в ping1 и выполняется первая команда ping sudo ping 8.8.4.4
. Когда я нажимаю control C, я хочу, чтобы скрипт переходил к ping2 вместо выполнения sudo ping 1.1.1.1