English 中文(简体)
你能访问陷阱中退出命令的代码吗?
原标题:Can you access the code of an exit command in a trap?
  • 时间:2011-05-30 13:21:06
  •  标签:
  • bash

我知道我可以使用$?查看最后执行的命令的退出代码,但如果我想确定我是抛出了自己的“退出0”还是“退出1”,该怎么办?

例如:

#!/bin/bash -e    
trap "{ echo Exit code $?; exit; }" EXIT    
exit 1

如果我运行这个脚本,它会打印出“退出代码0”,然后以退出代码1退出。我可以访问陷阱中的代码吗?还是我只是走错了路?换句话说,我希望这个简单的脚本打印出“退出代码1”。

最佳回答

它是0,因为<code>$(由于双引号而被替换)为0。

请尝试以下操作:

trap  { echo Exit code $?; exit; }  EXIT
问题回答

任何终止的进程都会设置<code>$,这意味着它将不断被覆盖。保存<code>$到一个单独命名的var,它是唯一的,并在退出时回显它。

编辑

请参阅基于进程退出代码的退出Shell脚本





相关问题
Parse players currently in lobby

I m attempting to write a bash script to parse out the following log file and give me a list of CURRENT players in the room (so ignoring players that left, but including players that may have rejoined)...

encoding of file shell script

How can I check the file encoding in a shell script? I need to know if a file is encoded in utf-8 or iso-8859-1. Thanks

Bash usage of vi or emacs

From a programming standpoint, when you set the bash shell to use vi or emacs via set -o vi or set -o emacs What is actually going on here? I ve been reading a book where it claims the bash shell ...

Dynamically building a command in bash

I am construcing a command in bash dynamically. This works fine: COMMAND="java myclass" ${COMMAND} Now I want to dynamically construct a command that redirectes the output: LOG=">> myfile.log ...

Perform OR on two hash outputs of sha1sum

I want perform sha1sum file1 and sha1sum file2 and perform bitwise OR operation with them using bash. Output should be printable i.e 53a23bc2e24d039 ... (160 bit) How can I do this? I know echo $(( ...

Set screen-title from shellscript

Is it possible to set the Screen Title using a shell script? I thought about something like sending the key commands ctrl+A shift-A Name enter I searched for about an hour on how to emulate ...

热门标签