从命令替换中获取退出代码

时间:2010-08-14 06:35:05

标签: bash shell

在bash中执行以下行:

set -e
p=$(mktemp -t "${1}.$$.XX")

mktemp因此消息失败:

+++ mktemp -t cpfs.c.o.5643.XX
mktemp: too few X's in template `cpfs.c.o.5643.XX'

如何在命令替换期间出现包含错误的失败错误?或者,我如何将返回代码形式传播回mktemp,以便set -e或我自己的代码可以对结果起作用?

1 个答案:

答案 0 :(得分:3)

最后一个命令的返回码始终保存在$?

做类似的事情:

command
ERR=$?

不要丢失该返回代码供以后使用。