CW *_* II 9 shell scripting error-handling
使用VMS DCL命令脚本可以使用以下on error命令捕获错误:
$ on error then goto MyErrorHandler
$ directory samiam.txt
$ delete x.txt
$ exit
$MyErrorHandler:
$ print "Something."
Run Code Online (Sandbox Code Playgroud)
在 Linuxland 中如何做到这一点?
在示例中,directory或的错误delete将导致控制转到MyErrorHandler。
我想你想要陷阱功能,特别是:
error_func()
{
echo 'An error occurred!'
exit 1
}
trap error_func ERR
Run Code Online (Sandbox Code Playgroud)
错误稍后将跳转到该函数。至少 bash、zsh 和 ksh 支持这一点。