'\" te .\" Copyright (c) 2009, 2011, Oracle and/or its affiliates.All rights reserved. .\" Copyright 1989 AT&T .\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures .TH print 1 "2011 年 7 月 12 日" "SunOS 5.11" "用户命令" .SH 名称 print \- shell 内置函数,用于输出字符到屏幕或窗口 .SH 用法概要 .SS "/usr/bin/print" .LP .nf \fBprint\fR [\fB-CRenprsv\fR] [\fB-f\fR \fIformat\fR] [-u \fIfd\fR] [\fIstring...\fR] .fi .SS "ksh88" .LP .nf \fBprint\fR [\fB-Rnprsu\fR [\fIn\fR]] [\fIarg\fR]... .fi .SS "ksh" .LP .nf \fBprint\fR [\fB-CRenprsv\fR] [\fB-f\fR \fIformat\fR] [-u \fIfd\fR] [\fIstring...\fR] .fi .SH 描述 .SS "ksh88" .sp .LP shell 输出机制。如果没有选项或者指定了 \fB-\fR 选项,将按 \fBecho\fR(1) 描述的方式在标准输出上输出后续参数。如果指定了 \fB-\fR 选项,任何后续内容都当作参数处理,即便是以 \fB-\fR 开头也是如此。 .SS "/usr/bin/print、ksh" .sp .LP 缺省情况下,\fBprint\fR 会将每个字符串操作数写入标准输出,并且附加一个换行符。 .sp .LP 除非指定了 \fB-r\fR、\fB-R\fR 或 \fB-f\fR 选项,否则将按以下方式特别处理每个字符串操作数中的每个 \fB\\fR 字符: .sp .ne 2 .mk .na \fB\fB\a\fR\fR .ad .RS 7n .rt 警报字符。 .RE .sp .ne 2 .mk .na \fB\fB\b\fR\fR .ad .RS 7n .rt 退格符。 .RE .sp .ne 2 .mk .na \fB\fB\c\fR\fR .ad .RS 7n .rt 终止输出并且不附加换行。忽略其余字符串操作数。 .RE .sp .ne 2 .mk .na \fB\fB\E\fR\fR .ad .RS 7n .rt 转义字符(\fBASCII\fR 八进制值 \fB033\fR)。 .RE .sp .ne 2 .mk .na \fB\fB\f\fR\fR .ad .RS 7n .rt 换页符。 .RE .sp .ne 2 .mk .na \fB\fB\n\fR\fR .ad .RS 7n .rt 换行符。 .RE .sp .ne 2 .mk .na \fB\fB\t\fR\fR .ad .RS 7n .rt 制表符。 .RE .sp .ne 2 .mk .na \fB\fB\v\fR\fR .ad .RS 7n .rt 垂直制表符。 .RE .sp .ne 2 .mk .na \fB\fB\\\fR\fR .ad .RS 7n .rt 反斜杠字符。 .RE .sp .ne 2 .mk .na \fB\fB\0\fR\fIx\fR\fR .ad .RS 7n .rt 8 位字符,其 \fBASCII\fR 代码为 \fB1\fR、\fB2\fR 或\fB3\fR 位数八进制数字 \fIx\fR。 .RE .SH 选项 .SS "ksh88" .sp .LP \fBksh88\fR 支持以下选项: .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 12n .rt 防止在输出中添加\fB换行符\fR。 .RE .sp .ne 2 .mk .na \fB\fB-r\fR\fB-R\fR\fR .ad .RS 12n .rt 原始模式。忽略 \fBecho\fR 的转义约定。\fB-R\fR 选项输出除 \fB-n\fR 之外的所有后续参数和选项。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 12n .rt 使得参数写入到通过 \fB|&\fR 派生的进程管道中,而不是标准输出中。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 12n .rt 使得参数写入到历史文件中,而不是标准输出中。 .RE .sp .ne 2 .mk .na \fB\fB-u\fR [ \fIn\fR ]\fR .ad .RS 12n .rt 指定输出所在的一位文件描述符单元编号 \fIn\fR。缺省值为 1。 .RE .SS "/usr/bin/print、ksh" .sp .LP \fB/usr/man/print\fR 和 \fBksh\fR 支持以下选项: .sp .ne 2 .mk .na \fB\fB-e\fR \fI\fR\fR .ad .RS 13n .rt 除非指定了 \fB-f\fR,否则按上述方式处理每个字符串操作数中的 \fB\\fR 序列。这是缺省行为。 .sp 如果同时指定了 \fB-e\fR 和 \fB-r\fR,则使用最后指定的选项。 .RE .sp .ne 2 .mk .na \fB\fB-f\fR \fIformat\fR\fR .ad .RS 13n .rt 使用格式字符串 \fIformat\fR 写入字符串参数,且不附加换行。有关如何指定格式的详细信息,请参见 \fBprintf\fR(1)。 .sp 指定了 \fB-f\fR 选项并且字符串操作数多于格式说明符时,则将从头开始重新处理格式字符串。如果字符串操作数少于格式说明符,输出将在第一个不需要的格式说明符处结束。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 13n .rt 不将换行符附加到输出。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 13n .rt 写入到当前协同进程中,而不是标准输出中。 .RE .sp .ne 2 .mk .na \fB\fB-r\fR\fR .ad .br .na \fB\fB-R\fR\fR .ad .RS 13n .rt 不按上述方式处理每个字符串操作数中的 \fB\\fR 序列。 .sp 如果同时指定了 \fB-e\fR 和 \fB-r\fR,则使用最后指定的选项。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 13n .rt 将输出作为条目写入到 shell 历史文件中,而不是标准输出中。 .RE .sp .ne 2 .mk .na \fB\fB-u\fR \fIfd\fR\fR .ad .RS 13n .rt 写入到文件描述符编号 \fIfd\fR 中,而不是标准输出中。缺省值为 \fB1\fR。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .RS 13n .rt 将每个字符串都视为变量名称,并且以 \fB%B\fR 格式写入值。不能与 \fB-f\fR 一起使用。 .RE .sp .ne 2 .mk .na \fB\fB-C\fR\fR .ad .RS 13n .rt 将每个字符串都视为变量名称,并且以 \fB%#B\fR 格式写入值。不能与 \fB-f\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 属性 .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 .TE .SH 另请参见 .sp .LP \fBecho\fR(1)、\fBksh\fR(1)、\fBksh88\fR(1)、\fBprintf\fR(1)、\fBattributes\fR(5)