So_*_*_it 3 bash shell solaris opensolaris
我需要找到实现 false 的源代码。
我在github上找到了源代码并找到了false.c,其中 false 以代码 255 退出。
那么,为什么“false; echo $”会出现?在 shell 中返回 1 而不是 255?我想我错过了某个地方的来源。
false.c文件中的代码:
#pragma ident "%Z%%M% %I% %E% SMI"
#include <unistd.h>
/*
* Exit with a non-zero value as quickly as possible.
*/
int
main(void)
{
_exit(255);
/*NOTREACHED*/
return (0);
}
Run Code Online (Sandbox Code Playgroud)
Cha*_*ffy 13
如果 bash 是你的 shell,它false是一个内置的——所以你正在查看错误的源代码。
在文件中builtins/colon.def查看内置于 bash 本身的版本:
/* Return an unsuccessful result. */
int
false_builtin (ignore)
char *ignore;
{
return (1);
}
Run Code Online (Sandbox Code Playgroud)
如果您想使用操作系统供应商的版本false而不是内置版本,您可以使用command false或 来实现/bin/false。
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |