| Current File : //usr/man/zh_CN.UTF-8/man1/builtin.1 |
'\" te
.\" Copyright (c) 1982–2007 AT&T Knowledge Ventures
.\" To view license terms, see http://www.opensource.org/licenses/cpl1.0.txt
.\" Portions Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
.TH builtin 1 "2007 年 5 月 1 日" "SunOS 5.11" "用户命令"
.SH 名称
builtin \- 用于添加、删除或显示 shell 内置命令的 ksh 内置函数
.SH 用法概要
.LP
.nf
\fBbuiltin\fR [\fB-ds\fR] [\fB-f\fR \fIlib\fR] [\fIpathname\fR ...]
.fi
.SH 描述
.sp
.LP
\fBksh\fR\fBbuiltin\fR 命令可在当前 shell 环境中添加、删除或显示内置命令。内置命令在当前 shell 进程中执行,可能会在当前 shell 中产生负面影响。在大多数系统上,内置命令的调用时间比创建单独进程的命令低一或两个数量级。
.sp
.LP
对于指定的每个 \fIpathname\fR,由路径名的基名确定内置命令的名称。对于每个基名,该 shell 会在当前 shell 中查找 C 级函数(通过内置名称前置 \fBb_\fR 来确定其名称)。如果 \fIpathname\fR 包含正斜杠 (\fB/\fR),内置命令会绑定到 \fIpathname\fR。仅当 \fIpathname\fR 是在路径搜索期间找到的第一个可执行对象时,才会执行绑定到该路径名的内置命令。否则,将在执行路径搜索之前查找内置命令。
.sp
.LP
如果未指定 \fIpathname\fR,\fBbuiltin\fR 会在标准输出上显示当前内置命令列表,或者在指定了 \fB-s\fR 选项的情况下仅显示特殊内置命令。将显示已绑定到路径名的内置命令的全路径名。
.sp
.LP
可使用 \fB-f\fR 选项指定包含内置命令的库。如果库中包含名为 \fBlib_init()\fR 的函数,则会在装入该库时调用此函数(带有参数 \fB0\fR)。\fBlib_init()\fR 函数可以通过调用相应的 C 级函数装入内置命令。在这种情况下,对 C 级函数名称没有限制。
.sp
.LP
调用 C 级函数时带有三个参数。前两个参数与 \fBmain()\fR 相同,第三个是一个指针。
.sp
.LP
无法从限定的 shell 调用 \fBksh\fR\fBbuiltin\fR 命令。
.SH 选项
.sp
.LP
支持以下选项:
.sp
.ne 2
.mk
.na
\fB\fB-d\fR\fR
.ad
.RS 10n
.rt
删除每个指定内置命令。无法删除特殊内置命令。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-f\fR \fIlib\fR\fR
.ad
.RS 10n
.rt
在具有动态链接的系统上,在共享库 \fIlib\fR 中装入和搜索内置命令。
.sp
搜索 \fB$PATH\fR 和系统相关库目录中的库。可省略系统相关共享库的前缀或后缀。装入某库后,其符号即可用于 \fBbuiltin\fR 的当前和后续调用。在单个 \fBbuiltin\fR 调用中可以指定多个库。按指定库时的反向顺序搜索库。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-s\fR\fR
.ad
.RS 10n
.rt
仅显示特殊内置命令。
.RE
.SH 操作数
.sp
.LP
支持下列操作数:
.sp
.ne 2
.mk
.na
\fB\fIpathname\fR\fR
.ad
.RS 12n
.rt
指定 \fIpathname\fR。由路径名的基名确定内置命令的名称。
.RE
.SH 退出状态
.sp
.LP
将返回以下退出值:
.sp
.ne 2
.mk
.na
\fB\fB0\fR\fR
.ad
.RS 6n
.rt
成功完成。
.RE
.sp
.ne 2
.mk
.na
\fB\fB>0\fR\fR
.ad
.RS 6n
.rt
出现错误。
.RE
.SH 示例
.LP
\fB示例 1 \fR装入 \fBbuiltin\fR 命令
.sp
.LP
以下示例从库 \fBlibfoo.so\fR 装入 \fBbuiltin\fR 命令 \fBmycmd\fR:
.sp
.in +2
.nf
example% builtin -f foo mycmd
.fi
.in -2
.sp
.SH 作者
.sp
.LP
David Korn,\fBdgk@research.att.com\fR
.SH 属性
.sp
.LP
有关下列属性的说明,请参见 \fBattributes\fR(5):
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
属性类型属性值
_
可用性system/core-os
_
接口稳定性Uncommitted(未确定)
.TE
.SH 另请参见
.sp
.LP
\fBksh\fR(1)、\fBwhence\fR(1)、\fBattributes\fR(5)