- 论坛徽章:
- 0
|
$CHILD_ERROR
$? The status returned by the last pipe close, backtick (``) com-
mand, successful call to wait() or waitpid(), or from the sys-
tem() operator. This is just the 16-bit status word returned
by the wait() system call (or else is made up to look like it).
Thus, the exit value of the subprocess is really ("$? >> 8"),
and "$? & 127" gives which signal, if any, the process died
from, and "$? & 128" reports whether there was a core dump.
(Mnemonic: similar to sh and ksh.)
Additionally, if the "h_errno" variable is supported in C, its
value is returned via $? if any "gethost*()" function fails.
If you have installed a signal handler for "SIGCHLD", the value
of $? will usually be wrong outside that handler
一共是有16bit
高八位是子进程退出值
直接$? >>8 就可以了
[ 本帖最后由 churchmice 于 2008-8-28 16:46 编辑 ] |
|