我认为我可以自己写这个
unrollme-dev-dan:~ Dan$ echo 'exit $@' > fail
unrollme-dev-dan:~ Dan$ chmod +x fail
unrollme-dev-dan:~ Dan$ ./fail 42
unrollme-dev-dan:~ Dan$ echo $?
42
有内置的方法可以做到这一点吗?当然,
exit
无法使用,因为它会退出当前进程,而不是创建一个子进程并从该进程退出。我发现test
是最简单的方法,只需获得0
或1>作为返回代码。
类似于http://httpstat.us/,我需要对特定错误代码进行单元测试。这在谷歌上非常难以搜索,因为大多数结果都是处理错误,而不是引起错误。
ksh
中有一些奇怪的例外)。它是一个新的进程,可以保护你免受各种影响父进程的方式,但对于这种用例来说,它只比函数稍微昂贵一点。 - kojiro