Linux 获取脚本中最后一个命令的名称

Linux 获取脚本中最后一个命令的名称,linux,bash,Linux,Bash,如何获取在脚本中运行的最后一个命令的名称 例如: #!/bin/bash trap 'echo error, this command returned a non-zero status: $NAME_OF_THE_COMMAND', ERR echo 'hey I\'m the first command !' cat somefile #here it will return a non-zero number ... 我知道我可以用美元吗?对于pid。但由于我是个孩子,我一直想访问

如何获取在脚本中运行的最后一个命令的名称

例如:

#!/bin/bash

trap 'echo error, this command returned a non-zero status: $NAME_OF_THE_COMMAND', ERR

echo 'hey I\'m the first command !'
cat somefile #here it will return a non-zero number
...
我知道我可以用美元吗?对于pid。但由于我是个孩子,我一直想访问的名称,而不是pid。我尝试了“echo$BASH_命令”(不在陷阱中),但它只是响应“echo$BASH_命令”

有什么想法吗?

这应该行得通:

trap 'echo "Error, $BASH_COMMAND returned with status $?"' ERR

$?
是最后一个命令的退出代码,而不是PID.oops确实我应该在发布之前重新阅读我的帖子,谢谢
$BASH_命令的任何问题都不会计算变量。e、 g.
$bad_命令
将作为
错误响应,$bad_命令--返回1
。要查看已计算的
$bad_命令
,请尝试此修改的trap语句(使用
eval
trap'eval echo“Error,${BASH_command}--returned$?”'ERR
现在,您将看到消息
Error,cp badfile某处--returned 1