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