X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/1c15e88899094343f75aeba04122cd96a96b428e..ad7871609881e73855d0b04da49b486cd93efca7:/usr/src/usr.bin/xargs/xargs.1 diff --git a/usr/src/usr.bin/xargs/xargs.1 b/usr/src/usr.bin/xargs/xargs.1 index e7d2826916..e703c43ddd 100644 --- a/usr/src/usr.bin/xargs/xargs.1 +++ b/usr/src/usr.bin/xargs/xargs.1 @@ -1,99 +1,161 @@ -.\" Copyright (c) 1990 The Regents of the University of California. -.\" All rights reserved. +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by -.\" John B. Roll Jr. +.\" John B. Roll Jr. and the Institute of Electrical and Electronics +.\" Engineers, Inc. .\" -.\" Redistribution and use in source and binary forms are permitted -.\" provided that the above copyright notice and this paragraph are -.\" duplicated in all such forms and that any documentation, -.\" advertising materials, and other materials related to such -.\" distribution and use acknowledge that the software was developed -.\" by the University of California, Berkeley. The name of the -.\" University may not be used to endorse or promote products derived -.\" from this software without specific prior written permission. -.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. .\" -.\" @(#)xargs.1 5.1 (Berkeley) 4/17/90 +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. .\" -.TH XARGS 1 "April 17, 1990" -.UC 7 -.SH NAME -xargs \- construct argument list(s) and execute utility. -.SH SYNOPSIS -.ft B -xargs [\-t] [\-n number] [\-s size] [utility [argument ...]] -.ft R -.SH DESCRIPTION +.\" @(#)xargs.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd June 6, 1993 +.Dt XARGS 1 +.Os +.Sh NAME +.Nm xargs +.Nd "construct argument list(s) and execute utility" +.Sh SYNOPSIS +.Nm xargs +.Op Fl t +.Oo Op Fl x +.Fl n Ar number +.Oc +.Op Fl s Ar size +.Op Ar utility Op Ar arguments ... +.Sh DESCRIPTION The -.I xargs utility -reads space, tab, and newline delimited arguments from the standard -input and executes the specified -.I utility -with them as arguments. -Any arguments specified on the command line are given to the -.I utility +.Nm xargs +utility reads space, tab, newline and end-of-file delimited arguments +from the standard input and executes the specified +.Ar utility +with them as +arguments. +.Pp +The utility and any arguments specified on the command line are given +to the +.Ar utility upon each invocation, followed by some number of the arguments read from standard input. The -.I utility +.Ar utility is repeatedly executed until standard input is exhausted. -.PP -Spaces and tabs may be embedded in arguments using single (`` ' '') or -double (``"'') quotes or backslashes (``\e''). -Single or double quotes escape all characters to the next matching quote -character, backslashes escape the next character. -Newlines may not be escaped. -.PP -The following options are available: -.TP --n number -Set the maximum number of arguments used from standard input for -each invocation of the utility. +.Pp +Spaces, tabs and newlines may be embedded in arguments using single +(``\ '\ '') +.Ek +or double (``"'') quotes or backslashes (``\e''). +Single quotes escape all non-single quote characters, excluding newlines, +up to the matching single quote. +Double quotes escape all non-double quote characters, excluding newlines, +up to the matching double quote. +Any single character, including newlines, may be escaped by a backslash. +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl n Ar number +Set the maximum number of arguments taken from standard input for each +invocation of the utility. An invocation of -.I utility +.Ar utility will use less than -.I number +.Ar number standard input arguments if the number of bytes accumulated (see the -.I \-s -option) exceeds the specified size or the last invocation of -.I utility -has fewer than -.I number -arguments remaining. -The default value for -.I number -is 255. -.TP --s size -Set the maximum number of bytes to which the last component of the -.I utility -name, the command-line arguments, and the arguments read in from -standard input may sum. -The default value for -.I size -is 2048. -.TP --t +.Fl s +option) exceeds the specified +.Ar size +or there are fewer than +.Ar number +arguments remaining for the last invocation of +.Ar utility . +The current default value for +.Ar number +is 5000. +.It Fl s Ar size +Set the maximum number of bytes for the command line length provided to +.Ar utility . +The sum of the length of the utility name and the arguments passed to +.Ar utility +(including +.Dv NULL +terminators) will be less than or equal to this number. +The current default value for +.Ar size +is +.Dv ARG_MAX +- 2048. +.It Fl t Echo the command to be executed to standard error immediately before it is executed. -.PP +.It Fl x +Force +.Nm xargs +to terminate immediately if a command line containing +.Ar number +arguments will not fit in the specified (or default) command line length. +.El +.Pp If no -.I utility +.Ar utility is specified, -.IR echo (1) +.Xr echo 1 is used. -.PP -.I Utility -should never read from the standard input. -.PP -.I Xargs -exits with 0 if no error occurred, and 1 otherwise. -.SH "SEE ALSO" -echo(1) -.SH STANDARDS +.Pp +Undefined behavior may occur if +.Ar utility +reads from the standard input. +.Pp +The +.Nm xargs +utility exits immediately (without processing any further input) if a +command line cannot be assembled, +.Ar utility +cannot be invoked, an invocation of the utility is terminated by a signal +or an invocation of the utility exits with a value of 255. +.Pp +The +.Nm xargs +utility exits with a value of 0 if no error occurs. +If +.Ar utility +cannot be invoked, +.Nm xargs +exits with a value of 127. +If any other error occurs, +.Nm xargs +exits with a value of 1. +.Sh SEE ALSO +.Xr echo 1 , +.Xr find 1 +.Sh STANDARDS The -.I xargs -utility is expected to be POSIX 1003.2 compliant. +.Nm xargs +utility is expected to be +.St -p1003.2 +compliant.