我有一个命令返回从 0 到 n 的数字,并且想捕获该数字并用作命令本身的退出代码。我通过这样做能够实现它:
sh -c $'exit $(command)'
但是对于像使用命令的 stdout 并将其设置为退出代码这样简单的事情来说,看起来有点麻烦。你知道是否有更简单的方法来做到这一点?
如果您想捕获命令的输出,那么您需要命令替换,即您的
$(command)
。如果您想提供特定的退出状态,那么可以使用 exit
,或者在函数中使用 return
。
如果您想在不终止 shell 的情况下进行输出到退出状态的转换,那么使用
()
在子 shell 中运行它比通过 sh -c
运行它更好。例子:
(exit "$(command)")
or
wrapper() {
return "$(command)"
}