什么是 Linux for VMS DCL “ON ERROR”?

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

Mat*_*hen 8

我想你想要陷阱功能,特别是:

error_func() 
{
    echo 'An error occurred!'
    exit 1
}

trap error_func ERR
Run Code Online (Sandbox Code Playgroud)

错误稍后将跳转到该函数。至少 bash、zsh 和 ksh 支持这一点。