如何清除bash函数中的陷阱?

时间:2019-02-13 09:49:38

标签: bash trap

当我有一个简单的bash函数时,

function useTrap(){
     # should print the signal
     function handle_error() {
         echo "!! useTrap run into trap: ${1}"  
     }

    # http://linuxcommand.org/wss0160.php
    trap handle_error SIGINT

    local anyExample=Hello
    echo "Printing example: $anyExample"
    echo "useTrap finishing"
}

并致电useTrap,我得到了预期的输出:

# -> Printing example: Hello
# -> useTrap finishing

但是当我此后或相当一段时间以后,我在同一外壳press CTRL+C中看到:

# -> ^C!! useTrap run into trap:

所以我想我在概念上做错了。是否应该在函数中完全使用陷阱?至少可以在脚本(someScript.sh)中使用某些使用陷阱的函数来删除它们吗?

它是重复的。以防万一某人懒得再次单击,solution

trap - [signal]

0 个答案:

没有答案