这有效:
#! /bin/bash
set -o errexit
trap 'echo Error on line $LINENO' ERR
echo "start"
false
输出为:
start
Error on line 6
在函数中执行相同的代码时,不执行陷阱:
#! /bin/bash
set -o errexit
trap 'echo Error on line $LINENO' ERR
function willFail() {
false
}
echo "start"
willFail
echo "end"
输出为:
start
当函数内部发生故障时如何执行陷阱?