перехватить ударную клавишу ctrl c и перейти к следующей функции

#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