ISO8859-1XY\ ` nx}      %#6F_t% - EOl 6!"#"$ % &&9 5'0 o( ) *# +!,! -0!@.!q/(!06!1&!2'"3'"94,"a5 "6"7+"8"9# :#;#1<#N=#a>#w?#@#A#B&#C#D$E4$F&$CG$jH$I$J$K$L'$M%N%'O%AP%[Q%rR %S%T%U)%V3%W&X'&8Y"&`Z&[ &\ &]&^&_ &`&a'b',c'@d'Se'kf('g!'h'i'j(k( l(=m(Tn(fo({p(q (r(s(t(u(v )w)x)/y)Ez)^{)t|)z} )~)*)) )) */*+*@$*l*****!+*+5+`+u+++(++,,0,I1,`,,, , ,,,,--%-6-H -[-f -x--!---. ..%$.82.]... ...7/ /A /W/d/|///// 000&070I0X0g0x 00000001!161X1p111121224 2D2R2e2t222 22233 353C 3\ 3i3v 3 33 3 33!3444.4M4c4| 444444455555<5C5T5o5 $5 5 5 5 6 66-"6C&6f 6666%67717P7b 7}#7777 7!8 "8$#8?$8P% 8e&8r'8(;8)48* 9+9>, 9R-39s.,9/190:1:2!:13:S4:q5:6:7 :8:9$:: :;;<;$=;A>;Y?;t@";A,;B;C;D<E<(FV*>-W>XX >lY!>Z>[>\#>]? ^?_?5`?Oa"?_b(?c?d?e?f%?g@h@i!@-j@Ok@kl@m@n@o@p@q@r @s@t@u@vA w A#xA1yALzAf{A||A}A~A AAA,BBABY&BpBBBBCCC-CFC[CpCCC C CCD DD0D5D=DEDMDSDYDaDgDl D D+DDDD'EE<(EUE~)EEEEFF F6"FBFeF},FFFF:G GF"GXG{GGGGGH :H'<HbHH HH"HII."IN,IqpIJJJ J5JHJ^JoJJJ J JJJJKKK4KJKgKwKKK KKL L"L>"LSLvLL LLL M M  MM! M)M3MC8MSNMTMN0NHNM NR N^ NiNvNNNN N N N N N N N O OO O>OMOeOvOOO`OP9PWPiP|P P!P"P#P$Q %eQ&Q'Q(Q)Q*Q+Q,&R -(R1. RZ/Rg0R1 R2R3R4#R5!S6 S%7$S28SW94Sg:S;S<S=S>(S?T$@1T;A+TmB0TCTDTE TF UG UH UI/U'J UWKUeL$U}M&UN'UO/UP4V!Q VVR&VwS1VT&VU)VV7W!WCWYX8WYWZ&W[@X \7XM]8X^BX_-Y`#Y/a@YSb3Yc3Yd Ye>Zf-Z\gBZh>ZiB[ jH[Ok@[lD[m>\n?\]o5\p7\q6] r+]Bs+]nt(]u ]v]w]x^yC^4z)^x{^|^}^~ ^__!_;_]#_s _ __$_ _` ``-`M`k`~```````a,aaFaKakapa<aaaa.abb$bA#bIbmbsbbb+bb%b cc d+ddHdQdndqdddd dd ex3e e*eeff ff* f@ fJfTfhfw$ff ffffg gg$ g8 gB+gLgxgg%gggg h hhh1 hGhRhWho hh hhhh iiii&i8iJ i[ iiiwiiiiii'jj8jVPjkj jFjk!k>kEkJkSkckkkt k 3k k k kkk l ll- l6lB lWlclklply llllll l! l"l#l$l%l&ql'mQ(m)%n *2n/+Snb,Sn-ko .Iov/Io0Ip 1)pT2#p~3#p4#p5up60q`7q8 q9q: q; q< q=q> q?q@rArBtCJ|DKEFG DHI8JUKvLqMXN tO PQ0R#̰ST8UVWkbXYZ 0[\] A^],_>/X`4a<]bKzcQ"d qV=eafd6gi h tkizx=j?~k lmnKo6pVqr sztbuvwxyzX{ |} ~ Ghxl {%,&L  s6A9}Ep*IRN Tl``Iile5uUt0, tSc \,zji  c! , : -Fonoffout of space.unlimitedusersyscannot execcannot opencannot set alarmout of memory%s: restricted%s: invalid mode stringlogin setuid/setgid shells prohibited%.*s: is not an element of %s%s: unknown locale%s: cannot open%s: bad file unit numberbad file unit number%s: not seekable%s: invalid seek offset%s: pattern seek requires read access%s: invalid shell patternwrite to %d failedopen file limit exceededcannot create pipe%s: is read only%s: file already exists/dev/nullcannot create temporary filetimed out waiting for input ashell will timewarn in 60 seconds due to inactivity%d: mode changed to JMP_EXITyou have mail in $_Use 'exit' to terminate this shell%s: cannot executecannot executeline %d: use space or tab to separate operators %c and %cline %d: in front of %c reserved for future useline %d: $ not preceeded by \line %d: %c quote may be missingline %d: `...` obsolete, use $(...)line %d: -a obsolete, use -eline %d: '=' obsolete, use '=='line %d: %s within [[...]] obsolete, use ((...))line %d: set %s obsoleteline %d: `{' instead of `in' is obsoleteline %d: use braces to avoid ambiguities with $id[...]line %d: quote %c to avoid ambiguitiesline %d: %c within ${} should be quotedline %d: escape %c to avoid ambiguitiesline %d: spaces required for nested subshellsyntax error at line %d: `%s' %ssyntax error: `%s' %ssyntax error at line %d: duplicate label %sline %d: %o:%s%s%s%s %s macro:%s: is a required element of %s%s: type cannot be redefined%.*s: unknown type%s: no such variable %s: not a type [+?%s is a %s.] [+?%s is a %n with default value %s.][+?%s defines the following fields:]{ [+%s?%s, default value is %s. string[+?%s defines the following discipline functions:]{ nvsetdisc failed name=%s sp=%s cp=%s can't set discipline %s cp=%s initialization not implemented %s found at k=%d stat of %s failed %s: not a known type name%s: invalid append to associative array%s: no reference name%s: invalid variable name%s: invalid function name%s: invalid alias name%s: is not an identifier%s: no parent%s: cannot be an array%s: bad number%s: reference variable cannot be an array%s: global reference cannot refer to local variable%s: invalid self reference%c: bad format character in time format%s: can only be used in a function%s: function not defined%s: not foundnot found real %2lR user %2lU sys %2lS%s: invalid discipline functioncannot fork%s: recursion too deepprocess already exists%s: not implementedredirection failedline %d: Invariant testline %d: -t requires argumentline %d: %s invalid typeset option order%d: invalid binary script versionline %d: empty for listline %d: label %s ignoredline %d: %s unknown labelksh bash emulation, version -R requires scriptname%s: bad option(s)-c requires argument%s: cannot createCurrent option settings%s: Ambiguous%s: parameter null%s: parameter not set%s: bad substitutionbad substitutionbad directorySwitching to new tty driver...You have stopped jobsCannot start job controlYou have running jobs Done Running(coredump)Reverting to old tty driver...%s: Arguments must be %%job or process idsno such processno such jobpermission deniedSignal %dvmbusy() inside job_reap() -- should not happencannot set and unset options simultaneously%s: invalid floating point operation%s: divide by zero%s: more tokens expected%s: arithmetic syntax error%s: assignment requires lvalue%s: unbalanced parenthesis%s: ':' expected for '?' operator%s: function has wrong number of arguments%s: invalid use of :%s: domain exception%s: overflow exception%s: singularity exception%s: unknown function%c: invalid character in expression - %s%s: subscript out of range%s: not an enumeration typediscipline not replaced adding empty subscriptcannot append index array to associative array %saddress space limitcore file sizecpu timedata sizefile sizenumber of file lockslocked address spacenumber of open filesnumber of processespipe buffer sizeresident set sizesocket buffer sizestack sizenumber of threadsprocess size%s: event not found%s: bad word specifier%c: unrecognized history modifier%s%s: no previous substitution%s%s: substitution failedunknowncount match n=%d index=%d marker=%dhist_flush: EOF seek failed errno=%dHistory file write error-%d %s: file unrecoverableCurrent command (line ; Previous command cannot access parent directoriesone operand expected%s: invalid value %s%s must name an array containing at least two elementscondition(s) required%s: bad trap%s: unknown signal namehistory file cannot open%d-%d: invalid range-e - requires single argumentno query process%s: limit exceeded%s: label not implemented%s missing%s: unknown operatorincorrect syntaxargument expected%s: bad formatNo job control%s: invalid nameuniverse not accessiblecannot set %smappingversionsno history file%c: unknown format specifier%s: invalid character constantinvalid argument of type %c%s: invalid regular expression-%c and -f are mutually exclusive%d: negative field size%s: alias not found %s: invalid export name%s: disabled in profile shell%s: type not loadable%s: unknown type%s: compound assignment requires sub-variable nameadding built-ins not supportedrestricted name #line %d %s alarm -r %s +%.3g alarm %s %.3f %s is an alias for is a shell builtin version ofis%s is an exported alias for is a keyword is a special shell builtin is a shell builtin is an undefined functionis a tracked alias fornot supported%s: cannot start serviceinterrupted out of space%s: unknown format identifierzero byteend of filenewlineis a functionnot a ttysynchronous line %dnot on an active synchronous line%s: cannot removeinvalid multibyte character%s: invalid date specificationout of space [format]%s: invalid elapsed timecannot set system timewrite error%s: unknown user%s: unknown group%s: cannot statout of space [id map][owner[:group]][[owner:]group]%s: cannot readout of space [id dictionary] owner group owner and group%s: uid and gid not mapped%s: uid not mapped%s: gid not mapped%s uid:%05d->%05d gid:%05d->%05d %s %s: cannot change%s%s: directory causes cycle%s: cannot read directory%s: cannot search directorypath is empty%s: pathname too long%s: path component begins with '-'%s: '%s' not in portable character set%s: component name %.*s too long%s: relative path not found%s: invalid field list%s: seek error-jfileno field: fileno must be 1 or 2field number must positive%s: file number must be 1 or 2%s: seek may fail%d: width must be positiveEOF on %s%s %s differ: char %I*d, line %I*u %s: %s: invalid skipstring argument expectedchars argument expectedpattern argument expectedlength argument expectedposition argument expecteddivision by zeronon-numeric argumentsyntax errorclosing parenthesis missing%s: unknown operator argumentfailed -- the native system does not provide a sync(2) call%s: unknown name -- no native getconf(1) to defer tono native getconf(1) to defer to%s: exec error [%d]%s: cannot position file to tail-%c: %s: invalid numeric argument -- unknown suffix%s: invalid numeric argument -- out of range-%c: %s: invalid numeric argument -- out of range%s: invalid suffix/dev/stdin: cannot stat--timeout ignored for --noforever--log ignored for --notimeout--reverse requires line mode%s: log file change%s: %s timeoutwrite failed%s: invalid mode%s: cannot change mode from %s to %s-c and -C are mutually exclusiveinternal errorinvalid range for c/f optionbad list for c/f optionf option already specifiedc option already specifiedb, c or f option must be specifiednon-empty b, c or f option must be specifieds option requires f optionout of space [group array]%s: name not found%u: fss name not foundincompatible options selected groups%s: %I*d: positive numeric option argument expected%s: read error%s: cannot reset access and modify times%s: cannot reset owner to %s%s: cannot reset owner to %s and group to %s%s: cannot create directory -- %s ignored%s: cannot reset group to %s%s: cannot reset directory mode to %s%s: out of space%s: cannot backup to %s%s: cannot rename to %s%s: cannot read symbolic link text%s: directory -- copying as plain file%s: cannot link directory%s: cannot copy non-terminal symbolic link%s: identical to %s%s: cannot %s existing directory%s: not a directory -- %s ignored%s: cannot %s existing file%s: cannot %s %s protection%s: cannot copy symbolic link to %s%s: cannot write%s: %s read stream error%s: %s write stream error%s: %s %s error%s: cannot copy special file to %s%s: cannot copy -- unknown file type 0%o%s: cannot copy%s: cannot move%s: cannot link%s: last argument must be a directory%s: not a directory%s: unknown backup type%s not implemented on this system%s: cannot reset mode to %s%s: cannot link to %sout of space [tmp string]not implementedoverride protection %s for %s? readwriteidoverwritereplaceiocannot create temporary path%s: cannot %s directory%s: directory%s: hard link to directory%s: directory not removed%s: cannot clear data%s: data clear error%s: not removedremove directory %s? ``running program''``not owner''%s: cannot change group to %s%s: cannot change user to %s%s: cannot change user to %s and group to %s%s: changed group to %s%s: changed user to %s%s: changed user to %s and group to %s%s: cannot change mode to %s%s: changed mode to %s%s: mode should be %s%s: %s: unknown checksum method%s: %s: unknown option%s: checksum changed%s: last line incomplete%s: uid should be %s%s: gid should be %sout of space [check]%s: unknown checksum method%s: cannot change modetoo many argumentsread error-c and -D are mutually exclusivewidth out of range%s:%d: debug errorerror breakpoint: quitcataloglibrarywarningpanicdebugDEFAULTUsageline%s in indirect expressionregex: %smail message{ ... } operator nesting too deep -- %d max`%c': invalid nesting%c: invalid function name%c: function has no return%c: invalid function call argument list%c: function not defined`%c': invalid line continuation operatornot enough fields: `%s'invalid characters after substitution: %s%-.*s: unknown functiontoo many } operatorsnot enough } operators%s: cannot open magic filecannot find magic fileread error malloc failed while growing stack %s: cannot locate codescannot create tmp file%s: cannot create tmp file in this directory%s: cannot open tmp filecannot allocate type table%s: cannot stat codes%s: %s code format does not support directory verification%s: invalid codes%s: cannot rename from tmp file %scannot rewind tmp file%s: cannot read tmp file%s: cannot append codes%s: cannot write codes%s: write error [sfsync]%s: write error [sferror]%s: write error [sfclose]translate locale=%s catalog=%s set=%d seq=%d "%s" => "%s" locale %s catalog %s message %d.%d "%s" does not match "%s" NOPE%s: command not found%d arg command would be too longsize must be at least %d%s: command too large after insert%s: command exec error%s: path too long for exec argsonly %d arguments for last commandinvalid pointer %p passed to free or reallocstorage allocator out of space on %lu byte request ( region %lu segments %lu busy %lu:%lu:%lu free %lu:%lu:%lu )Error %derrlistmore tokens expectedclosing ) expectedoperator syntax errorinvalid use of :operand expecteddivide by zero: expected for ? operatoroperator expectedtoo many )'snot supportedsuccessno matchinvalid regular expressioninvalid collation elementinvalid character classtrailing \ in patterninvalid \digit backreference[...] imbalance\(...\) or (...) imbalance\{...\} or {...} imbalanceinvalid {...} digitsinvalid [...] range endpointout of spaceunary op not preceeded by reempty subexpr in patternre component count overflowinvalid \char escaperegex (AT&T Research) 2008-05-11 $conflicting flagsinvalid or omitted delimiterunrecoverable internal errorunknown errorregular expression: %s: %sregular expression: %sUsage: %s debug%d: warning: panic: line %d: locale stat %s locale test %s probe processor %s version "%s" changed -- expected "%s"%s probe information for %s language processor %s must be manually regeneratedlicensed for external use -- %s employees should contact %s for the internal licensegetwd: error in . or ..filefuncalloc errorfree errorresize errorcorrupted dataalertregionblockcan't get memoryregion is lockedunallocated blocksizejust allocatedbeing freedbeing resizedjust resizedbad byte atallocated atcannot access covered libraryinvalid handleimage statically linkedundefined symboldynamic linking not supported%s: dlopen failed: %s[+%s?%s Shorthand for %s.][+Control Modes.]{Attempt to set input and output baud rate to number given. A value of 0 causes immediate hangupNumber of bits in a character}[+Input Modes.]{}[+Output Modes.]{Carriage return delay styleHorizontal tab delay styleNewline delay styleBackspace delay styleForm feed delay styleVertical tab delay style}[+Local Modes.]{}[+Control Assignments.?If aca is undef or an empty string then the control assignment is disabled.]{}[+Combination Modes.]{%s: unknown modemissing argument to %scannot set ttyana is the input baud rateana is the output baud rateana is the number of lines for displayana is the number of columns for displaySame as colsSend an interrupt signalSend a quit signalErase the last character enteredErase the current lineSend an end of fileAlternate character to end the lineSwitch to a different shell layerEnd the lineRestart the output after stopping itStop the outputSend a terminal stop signal after flushing the inputSend a terminal stop signalRedraw the current lineDiscard outputErase the last word enteredEnter the next input character literallyLine discipline numberMininmum number of characters to read in raw modeNumber of .1 second intervals with raw modeEnable (disable) parity generation and detectionUse odd (even) parityEnable (disable) inputChar size 5Char size 6Char size 7Char size 8Hangup (do not hangup) connection on last closeSame as hupclUse two (one) stop bitsEnable (disable) RTS/CTS handshakingDisable (enable) modem control signalsIgnore (do not ignore) break charactersGenerate (do not generate) INTR signal on breakIgnore (do not ignore) characters with parity errorsMark (do not mark) parity errorsEnable (disable) input parity checkingClear (do not clear) high bit of input charactersIgnore (do not ignore) carriage returnMap (do not map) upper-case to lower caseTranslate (do not translate) carriage return to newlineEnable (disable) XON/XOFF flow control. stop character stops outputAny character (only start character) can restart output.Same as -ixanyDisable (enable) XON/XOFF flow controlBeep (do not beep) if a character arrives with full input bufferTranslate (do not translate) carriage return to newlineEnable (disable) intr, quit, and susp special charactersEnable (disable) erase, kill, werase, and rprnt special charactersEnable (disable) non-POSIX special charactersEcho (do not echo) input charactersEcho (do not echo) erase characters as backspace-space-backspaceEcho (do not echo) a newline after a kill characterEcho (do not echo) a newline after a kill characterSame as echok (-echok); obsoleteEcho (do not echo) newline even if not echoing other characterEcho (do not echo) control characters as ^acaEcho (do not echo) erased characters backward, between '\' and '/'Enable (disable) icanon uppercase as lowercase with '\' prefixDiscard (do not discard) written data. Cleared by subsequent inputRedisplay pending input at next read and then automatically clear pendinDisable (enable) flushing after intr and quit special charactersStop (do not stop) background jobs that try to write to the terminalTranslate (do not translate) lowercase characters to uppercaseTranslate (do not translate) newline to carriage return-newlineNewline performs (does not perform) a carriage returnTranslate (do not translate) carriage return to newlineDo not (do) print carriage returns in the first columnUse fill characters (use timing) for delaysUse DEL (NUL) as fill characters for delays Postprocess (do not postprocess) outputPreserve (expand to spaces) tabsSame as parenb -parodd cs7Same as parenb parodd cs7Same as parenb -parodd cs7Reset the erase and kill special characters to their default valuesReset all modes to some reasonable valuesDisable raw input and outputEnable raw input and outputSet xcase, iuclc, and olcucSame as lcase%d: invalid number of %s%s: missing numeric argument%s: %s: numeric argument expected%s: %s: invalid speedIf the option value is omitted thenis assumedThe option value may be omitted.The default value is[* call optget() before opthelp() *]On by defaultOn by default; usevalue expectedambiguous option argument valueunknown option argument valuevalue not expectedambiguous optionoptget: option not supportedsection not foundunknown option -- out of range[* out of space *]aboutList all implementation info.apiList detailed info in program readable form.helpList detailed help option info.htmlList detailed info in html.keysList the usage translation key strings with C style escapes.longList long option usage.manList detailed info in displayed man page form.nroffList detailed info in nroff.optionsList short and long option details.posixList posix getopt usage.shortList short option usage.usageList the usage string with C style escapes.NAMEoptions available to all ast commandsDESCRIPTION-? and --?* options are the same for all ast commands. For any aitema below, if --aitema is not supported by a given command then it is equivalent to --??aitema. The --?? form should be used for portability. All output is written to the standard error.??-alabelaList implementation info matching alabela*.??anameaEquivalent to --help=anamea.??Equivalent to --??options.????Equivalent to --??man.??????Equivalent to --??help.??????aitemaIf the next argument is --aoptiona then list the aoptiona output in the aitema style. Otherwise print version=ana where ana>0 if --??aitema is supported, 0 if not.??????ESCEmit escape codes even if output is not a terminal.??????TESTMassage the output for regression testing.unknown option or attributeAbortAsynchronous I/OAlarm callScheduling - reservedSIGAPOLLOBus errorThread cancellationDeath of ChildStopped process continuedPredictive processor deconfigurationSystem crash soonDIL signalEMT trapFloating exceptionSpecial signal used by CPRGrant monitor modeHangupIllegal instructionInterruptIO signalSpecial signal used by Java Virtual MachineKilledSecurity label changedResources lostSpecial signal used by thread libraryMigrate processRing buffer input dataPhone interruptBroken pipePolling alarmProfiling time alarmProgramming exceptionPower failQuitRelinquish monitor modeLowest priority realtime signalHighest priority realtime signalSecure attention keyMemory faultSound completedStopped (SIGSTOP)Bad system callTerminatedTrace/BPT TrapStoppedStopped (SIGTTIN)Stopped (SIGTTOU)Socket interruptUser signal 1User signal 2Virtual timer alarmVirtual time alarmAll threads blockedWindow size changeExceeded CPU time limitExceeded file size limitExceeded resource controllocale info %17s MB_CUR_MAX=%d%s%s%s%s locale set %17s %-24s %-24s locale env %17s %s The posix 1003.2-1992 32 bit crc checksum. This is the default cksum(1) method.The zip(1) crc.The FDDI crc.The Fowler-Noll-Vo 32 bit PRNG hash with non-zero initializer (FNV-1).The ast strsum(3) PRNG hash.+NAME?NAMESYNOPSISCopyright ©numericcatalog?[%c=%d:%s?The %s in %ss*@(\[[-+]*\?*\]|\@\(#\)|Copyright \(c\)|\$\I\d\: )*APPLICATION USAGEASYNCHRONOUS EVENTSBUGSCAVEATSCONSEQUENCES OF ERRORSDESCRIPTIONENVIRONMENT VARIABLESEXAMPLESEXIT STATUSEXTENDED DESCRIPTIONINPUT FILESLIBRARYNAMEOPERANDSOPTIONSOUTPUT FILESSEE ALSOSTDERRSTDINSTDOUTSYNOPSISauthorcopyrightlicensenamepathversionThe ast 128 bit PRNG hash generated by catenating 4 separate 32 bit PNRG hashes. The block count is not printed.The system 5 release 4 checksum. This is the default for sum when getconf UNIVERSE is att. This is the only true sum; all of the other methods are order dependent.The BSD checksum.32 bit CRC (cyclic redundancy check).32 bit PRNG (pseudo random number generator) hash.RFC1320 MD4 message digest. Cryptographically weak. The block count is not printed.RFC1321 MD5 message digest. Cryptographically weak. The block count is not printed.RFC3174 / FIPS 180-1 SHA-1 secure hash algorithm 1. Cryptographically weak. The block count is not printed.FIPS 180-2 SHA256 secure hash algorithm. The block count is not printed.FIPS 180-2 SHA384 secure hash algorithm. The block count is not printed.FIPS 180-2 SHA512 secure hash algorithm. The block count is not printed.FIPS 180-1 SHA-1 secure hash algorithm 1.FIPS SHA-256 secure hash algorithm.FIPS SHA-512 secure hash algorithm.FIPS SHA-384 secure hash algorithm.The RSA Data Security, Inc. MD5 Message-Digest Method, 1991-2, used with permission. The block count is not printed.Usage: mamstate reference [ file ... | ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?enum - create an enumeration type][+DESCRIPTION?enum is a declaration command that creates an enumerationtype atypenamea that can only store any one of the values in the indexed array variable atypenamea.][+?If the list of avalueas is ommitted, then atypenamea must name an indexed array variable with at least two elements.][i:ignorecase?The values are case insensitive.] atypenamea[=( avaluea ... )] [+EXIT STATUS]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?ksh(1), typeset(1).][-1c? @(#)$Id: type (AT&T Labs Research) 2008-01-08 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? ? - create an instance of type ? ][+DESCRIPTION? ? creates a variable for each anamea with enumeration type ? where ? is a type that has been created with the enum(1) command.][+?The variable can have one of the following values values . The the values are case case sensitive.][+?If =avaluea is omitted, the default is default .][+?If no anameas are specified then the names and values of all variables of this type are written to standard output.][+? ? is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on avaluea.][r?Enables readonly. Once enabled, the value cannot be changed or unset.][a?index array. Each anamea will converted to an index array of type ? . If a variable already exists, the current value will become index 0.][A?Associative array. Each anamea will converted to an associate array of type ? . If a variable already exists, the current value will become subscript 0.][h]:[string?Used within a type definition to provide a help string for variable anamea. Otherwise, it is ignored.][S?Used with a type definition to indicate that the variable is shared by each instance of the type. When used inside a function defined with the function reserved word, the specified variables will have function static scope. Otherwise, the variable is unset prior to processing the assignment list.] [name[=value]...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?enum(1), typeset(1)][-? @(#)$Id: mkservice (AT&T Research) 2001-06-13 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? mkservice - create a shell server ][+DESCRIPTION?mkservice creates a tcp or udp server that is implemented by shell functions.][+?The aservice_patha must be of the form /dev/tcp/localhost/aportnoa or /dev/udp/localhost/aportnoa depending on whether the tcp or udp protocol is used. aportnoa is the port number that the service will use.][+?The shell variable avarnamea is associated with the service. This variable can have subvariables that keeps the state of all active connections. The functions avarnamea.accept, avarnamea.action and avarnamea.close implement the service as follows:]{[+accept?This function is invoked when a client tries to connect to the service. It is called with an argument which is the file descriptor number associated with the accepted connection. If the function returns a non-zero value, this connection will be closed.][+action?This function is invoked when there is data waiting to be read from one of the active connections. It is called with the file descriptor number that has data to be read. If the function returns a non-zero value, this connection will be closed.][+close?This function is invoked when the connection is closed.]}[+?If avarnamea is unset, then all active connection, and the service itself will be closed.] varname service_path [+EXIT STATUS?]{[+0?Success.][+>0?An error occurred.]}[+SEE ALSO?eloop(1)][-? @(#)$Id: eloop (AT&T Research) 2001-06-13 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? eloop - process event loop][+DESCRIPTION?eloop causes the shell to block waiting for events to process. By default, eloop does not return.][t]#[timeout?atimeouta is the number of milliseconds to wait without receiving any events to process.] [+EXIT STATUS?If no timeout is specified, eloop will not return unless interrupted. Otherwise]{[+0?The specified timeout interval occurred.][+>0?An error occurred.]}[+SEE ALSO?mkservice(1)][B?Enable brace group expansion. This option is only availabe in bash compatibility mode. In ksh mode, brace group expansion is always on.][P?Do not follow symbolic links, use physical directory structure instead. Only available in bash compatibility mode.][O]:?[shopt_option?ashopt_optiona is one of the shell options accepted by the shopt builtin. If ashopt_optiona is present, -O sets the value of that option; +O unsets it. If ashopt_optiona is not supplied, the names and values of the shell options accepted by shopt are printed on the standard output. If the invocation option is +O, the output is displayed in a format that may be reused as input. Only available if invoked as bash.][01:init-file|rcfile]:[file?Execute commands from afilea instead of the standard personal initialization file ~/.bashrc if the shell is interactive. Only available if invoked as bash.][02:editing?For option compatibility with bash only. Ignored.][03:profile?Read either the system-wide startup file or any of the personal initialization files. On by default for interactive shells. Only available if invoked as bash.][04:posix?If invoked as bash, turn on POSIX compatibility. Bash in POSIX mode is not the same as ksh.][05:version?Print version number and exit.]+[-1c? @(#)$Id: shopt (AT&T Research) 2003-02-13 $ ][-author?Karsten Fleischer ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?shopt - set/unset variables controlling optional shell behavior][+DESCRIPTION?shopt sets or unsets variables controlling optional shell behavior. With no options, or with the -p option, a list of all settable options is displayed, with an indication of whether or not each is set.][p?Causes output to be displayed in a form that may be reused as input.][s?Set each aoptnamea.][u?Unset each aoptnamea.][q?Suppress output (quiet mode). The return status indicates whether the aoptnamea is set or unset. If multiple aoptnamea arguments are given with -q, the return status is zero if all aoptnameas are enabled; non-zero otherwise.][o?Restricts the values of aoptnamea to be those defined for the -o option to the set builtin.][+?If either -s or -u is used with no aoptnamea arguments, the display is limited to those options which are set or unset.][+?shopt supports all bash options. Some settings do not have any effect or are are always on and cannot be changed.][+?The value of aoptnamea must be one of the following:]{[+cdable_vars?If set, arguments to the cd command are assumed to be names of variables whose values are to be used if the usual cd proceeding fails.][+cdspell?Currently ignored.][+checkhash?Always on.][+checkwinsize?Currently ignored.][+cmdhist?Always on.][+dotglob?If set, include filenames beginning with a . in the results of pathname expansion.][+execfail?Always on.][+expand_aliases?Always on.][+extglob?Enable extended pattern matching features.][+histappend?Always on.][+histreedit?If set and an edit mode is selected, the user is given the opportunity to re-edit a failed history substitution.][+histverify?If set and an edit mode is selected, the result of a history substitution will not be executed immediately but be placed in the edit buffer for further modifications.][+hostcomplete?Currently ignored.][+huponexit?Currently ignored.][+interactive_comments?Always on.][+lithist?Always on.][+login_shell?This option is set if the shell is started as a login shell. The value cannot be changed.][+mailwarn?Currently ignored.][+no_empty_cmd_completion?Always on.][+nocaseglob?Match filenames in a case-insensitive fashion when performing filename expansion.][+nullglob?Allows filename patterns which match no files to expand to a null string, rather than themselves.][+progcomp?Currently ignored.][+promptvars?Currently ignored.][+restricted_shell?This option is set if the shell is started as a restricted shell. The value cannot be changed. It is not reset during execution of startup files, allowing the startup files to determine whether the shell is restricted.][+shift_verbose?Currently ignored.][+sourcepath?If set, the . builtin uses the value of PATH to find the directory containing the file supplied as an argument.][+xpg_echo?If set, the echo and print builtins expand backslash-escape sequences.]} [optname ...] [+EXIT STATUS?]{[+?The return status when listing options is zero if all aoptnamesa are enabled, non-zero otherwise. When setting or unsetting options, the return status is zero unless an aoptnamea is not a valid shell option.]}[+SEE ALSO?set(1)][-1c? @(#)$Id: type (AT&T Labs Research) 2008-07-01 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? ? - set the type of variables to ? ][+DESCRIPTION? ? sets the type on each of the variables specified by anamea to ? . If =avaluea is specified, the variable anamea is set to avaluea before the variable is converted to ? .][+?If no anameas are specified then the names and values of all variables of this type are written to standard output.][+? ? is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on avaluea.][r?Enables readonly. Once enabled, the value cannot be changed or unset.][a]:?[type?Indexed array. Each anamea will converted to an index array of type ? . If a variable already exists, the current value will become index 0. If [atypea]] is specified, each subscript is interpreted as a value of enumeration type atypea.][A?Associative array. Each anamea will converted to an associate array of type ? . If a variable already exists, the current value will become subscript 0.][h]:[string?Used within a type definition to provide a help string for variable anamea. Otherwise, it is ignored.][S?Used with a type definition to indicate that the variable is shared by each instance of the type. When used inside a function defined with the function reserved word, the specified variables will have function static scope. Otherwise, the variable is unset prior to processing the assignment list.][+DETAILS] types [name[=value]...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO? other readonly(1), typeset(1)][-1c? @(#)$Id: type (AT&T Labs Research) 2008-07-01 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? ? - set the type of variables to ? ][+DESCRIPTION? ? sets the type on each of the variables specified by anamea to ? . If =avaluea is specified, the variable anamea is set to avaluea before the variable is converted to ? .][+?If no anameas are specified then the names and values of all variables of this type are written to standard output.][+? ? is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on avaluea.][r?Enables readonly. Once enabled, the value cannot be changed or unset.][a]:?[type?Indexed array. Each anamea will converted to an index array of type ? . If a variable already exists, the current value will become index 0. If [atypea]] is specified, each subscript is interpreted as a value of enumeration type atypea.][A?Associative array. Each anamea will converted to an associate array of type ? . If a variable already exists, the current value will become subscript 0.][h]:[string?Used within a type definition to provide a help string for variable anamea. Otherwise, it is ignored.][S?Used with a type definition to indicate that the variable is shared by each instance of the type. When used inside a function defined with the function reserved word, the specified variables will have function static scope. Otherwise, the variable is unset prior to processing the assignment list.][+DETAILS] types [name[=value]...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO? other readonly(1), typeset(1)][-? @(#)$Id: basename (AT&T Research) 1999-04-10 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?basename - strip directory and suffix from filenames][+DESCRIPTION?basename removes all leading directory components from the file name defined by astringa. If the file name defined by astringa has a suffix that ends in asuffixa, it is removed as well.][+?If astringa consists solely of / characters the output will be a single / unless PATH_LEADING_SLASHES returned by getconf(1) is 1 and astringa consists of multiple / characters in which case // will be output. Otherwise, trailing / characters are removed, and if there are any remaining / characters in astringa, all characters up to and including the last / are removed. Finally, if asuffixa is specified, and is identical the end of astringa, these characters are removed. The characters not removed from astringa will be written to standard output.] string [suffix] [+EXIT STATUS?]{[+0?Successful Completion.][+>0?An error occurred.]}[+SEE ALSO?dirname(1), getconf(1), basename(3)][-? @(#)$Id: cat (AT&T Research) 2009-03-31 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?cat - concatenate files][+DESCRIPTION?cat copies each afilea in sequence to the standardoutput. If no afilea is given, or if the afilea is -,cat copies from standard input starting at the current location.][b:number-nonblank?Number lines as with -n but omit line numbers fromblank lines.][d:dos-input?Input files are opened in atextamode which removes carriagereturns in front of new-lines on some systems.][e?Equivalent to -vE.][n:number?Causes a line number to be inserted at the beginning of each line.][s?Equivalent to -S for aatta universe and -B otherwise.][t?Equivalent to -vT.][u:unbuffer?The output is not delayed by buffering.][v:show-nonprinting?Causes non-printing characters (whith the exception oftabs, new-lines, and form-feeds) to be output as printable charatersequences. ASCII control characters are printed as ^ana,where ana is the corresponding ASCII character in the rangeoctal 100-137. The DEL character (octal 0177) is copiedas ^?. Other non-printable characters are copied as M-axawhere axa is the ASCII character specified by the low-order sevenbits. Multibyte characters in the current locale are treated asprintable characters.][A:show-all?Equivalent to -vET.][B:squeeze-blank?Multiple adjacent new-line characters are replace by onenew-line.][D:dos-output?Output files are opened in atextamode which inserts carriagereturns in front of new-lines on some systems.][E:show-ends?Causes a $ to be inserted before each new-line.][R:regress?Regression test defaults: -v buffer size 4.][S:silent?cat is silent about non-existent files.][T:show-blank?Causes tabs to be copied as ^I and formfeeds as ^L.] [file ...] [+SEE ALSO?cp(1), getconf(1), pr(1)][-?@(#)$Id: chgrp (AT&T Research) 2008-03-28 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?chgrp - change the group ownership of files][+DESCRIPTION?chgrp changes the group ownership of each file to agroupa, which can be either a group name or a numeric group id. The user ownership of each file may also be changed to ausera by prepending ausera: to the group name.][+NAME?chown - change the ownership of files][+DESCRIPTION?chown changes the ownership of each file to ausera, which can be either a user name or a numeric user id. The group ownership of each file may also be changed to ausera by appending :agroupa to the user name.][b:before?Only change files with ctime before (less than) the mtime of afilea.]:[file][c:changes?Describe only files whose ownership actually changes.][f:quiet|silent?Do not report files whose ownership fails to change.][l|h:symlink?Change the ownership of the symbolic links on systems that support this.][m:map?The first operand is interpreted as a file that contains a map of space separated afrom_uid:from_gid to_uid:to_gida pairs. The auida or agida part of each pair may be omitted to mean any auida or agida. Ownership of files matching the afroma part of any pair is changed to the corresponding atoa part of the pair. The matching for each file operand is in the order auida:agida, auida:, :agida. For a given file, once a auida or agida mapping is determined it is not overridden by any subsequent match. Unmatched files are silently ignored.][n:show?Show actions but don't execute.][r:reference?Omit the explicit ownership operand and use the ownership of afilea instead.]:[file][u:unmapped?Print a diagnostic for each file for which either the auida or agida or both were not mapped.][v:verbose?Describe changed permissions of all files.][H:metaphysical?Follow symbolic links for command arguments; otherwise don't follow symbolic links when traversing directories.][L:logical|follow?Follow symbolic links when traversing directories.][P:physical|nofollow?Don't follow symbolic links when traversing directories.][R:recursive?Recursively change ownership of directories and their contents.][X:test?Canonicalize output for testing.] file ... [+EXIT STATUS?]{[+0?All files changed successfully.][+>0?Unable to change ownership of one or more files.]}[+SEE ALSO?chmod(1), tw(1), getconf(1), ls(1)][-? @(#)$Id: chmod (AT&T Research) 2007-09-10 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?chmod - change the access permissions of files][+DESCRIPTION?chmod changes the permission of each file according to mode, which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new permissions.][+?Symbolic mode strings consist of one or more comma separated list of operations that can be perfomed on the mode. Each operation is of the form ausera aopa aperma where ausera is zero or more of the following letters:]{[+u?User permission bits.][+g?Group permission bits.][+o?Other permission bits.][+a?All permission bits. This is the default if none are specified.]}[+?The aperma portion consists of zero or more of the following letters:]{[+r?Read permission.][+s?Setuid when u is selected for awhoa and setgid when g is selected for awhoa.][+w?Write permission.][+x?Execute permission for files, search permission for directories.][+X?Same as x except that it is ignored for files that do not already have at least one x bit set.][+l?Exclusive lock bit on systems that support it. Group execute must be off.][+t?Sticky bit on systems that support it.]}[+?The aopa portion consists of one or more of the following characters:]{[++?Cause the permission selected to be added to the existing permissions. | is equivalent to +.][+-?Cause the permission selected to be removed to the existing permissions.][+=?Cause the permission to be set to the given permissions.][+&?Cause the permission selected to be aandaed with the existing permissions.][+^?Cause the permission selected to be propagated to more restrictive groups.]}[+?Symbolic modes with the ausera portion omitted are subject to umask(2) settings unless the = aopa or the --ignore-umask option is specified.][+?A numeric mode is from one to four octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. Any omitted digits are assumed to be leading zeros. The first digit selects the set user ID (4) and set group ID (2) and save text image (1) attributes. The second digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the third selects permissionsfor other users in the file's group, with the same values; and the fourth for other users not in the file's group, with the same values.][+?For symbolic links, by default, chmod changes the mode on the file referenced by the symbolic link, not on the symbolic link itself. The -h options can be specified to change the mode of the link. When traversing directories with -R, chmod either follows symbolic links or does not follow symbolic links, based on the options -H, -L, and -P. The configuration parameter PATH_RESOLVE determines the default behavior if none of these options is specified.][+?When the -c or -v options are specified, change notifications are written to standard output using the format, %s: mode changed to %0.4o (%s), with arguments of the pathname, the numeric mode, and the resulting permission bits as would be displayed by the ls command.][+?For backwards compatibility, if an invalid option is given that is a valid symbolic mode specification, chmod treats this as a mode specification rather than as an option specification.][H:metaphysical?Follow symbolic links for command arguments; otherwise don't follow symbolic links when traversing directories.][L:logical|follow?Follow symbolic links when traversing directories.][P:physical|nofollow?Don't follow symbolic links when traversing directories.][R:recursive?Change the mode for files in subdirectories recursively.][c:changes?Describe only files whose permission actually change.][f:quiet|silent?Do not report files whose permissioins fail to change.][h:symlink?Change the mode of the symbolic links on systems that support this.][i:ignore-umask?Ignore the umask(2) value in symbolic mode expressions. This is probably how you expect chmod to work.][n:show?Show actions but do not change any file modes.][F:reference?Omit the amodea operand and use the mode of afilea instead.]:[file][v:verbose?Describe changed permissions of all files.] mode file ... [+EXIT STATUS?]{[+0?All files changed successfully.][+>0?Unable to change mode of one or more files.]}[+SEE ALSO?chgrp(1), chown(1), tw(1), getconf(1), ls(1), umask(2)][-? @(#)$Id: sum (AT&T Research) 2007-11-27 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?cksum,md5sum,sum - print file checksum and block count][+DESCRIPTION?sum lists the checksum, and for most methods the block count, for each file argument. The standard input is read if there are no afilea arguments. getconf UNIVERSE determines the default sum method: att for the att universe, bsd otherwise. The default for the other commands is the command name itself. The att method is a true sum, all others are order dependent.][+?Method names consist of a leading identifier and 0 or more options separated by -.][+?getconf PATH_RESOLVE determines how symbolic links are handled. This can be explicitly overridden by the --logical, --metaphysical, and --physical options below. PATH_RESOLVE can be one of:]{ [+logical?Follow all symbolic links.] [+metaphysical?Follow command argument symbolic links, otherwise don't follow.] [+physical?Don't follow symbolic links.]}[a:all?List the checksum for all files. Use with --total to list both individual and total checksums and block counts.][b:binary?Read files in binary mode. This is the default.][B:scale?Block count scale (bytes per block) override for methods that include size in the output. The default is method specific.]#[scale][c:check?Each afilea is interpreted as the output from a previous sum. If --header or --permissions was specified in the previous sum then the checksum method is automatically determined, otherwise --method must be specified. The listed checksum is compared with the current value and a warning is issued for each file that does not match. If afilea was generated by --permissions then the file mode, user and group are also checked. Empty lines, lines starting with #, or the line # are ignored. Lines containing no blanks are interpreted as [no]]anamea[=avaluea]] options:]{ [+method=name?Checksum method to apply to subsequent lines.] [+permissions?Subsequent lines were generated with --permissions.]}[h:header?Print the checksum method as the first output line. Used with --check and --permissions.][l:list?Each afilea is interpreted as a list of files, one per line, that is checksummed.][p:permissions?If --check is not specified then list the file mode, user and group between the checksum and path. User and group matching the caller are output as -. If --check is specified then the mode, user and group for each path in afilea are updated if necessary to match those in afilea. A warning is printed on the standard error for each changed file.][R:recursive?Recursively checksum the contents of directories.][S:silent|status?No output for --check; 0 exit status means all sums matched, non-0 means at least one sum failed to match. Ignored for --permissions.][t:total?List only the total checksum and block count of all files. --all --total lists each checksum and the total. The total checksum and block count may be different from the checksum and block count of the catenation of all files due to partial blocks that may occur when the files are treated separately.][T:text?Read files in text mode (i.e., treat \r\n as \n).][w!:warn?Warn about invalid --check lines.][x:method|algorithm?Specifies the checksum amethoda to apply. Parenthesized method options are readonly implementation details.]:[method]{ methods }[L:logical|follow?Follow symbolic links when traversing directories. The default is determined by getconf PATH_RESOLVE.][H:metaphysical?Follow command argument symbolic links, otherwise don't follow symbolic links when traversing directories. The default is determined by getconf PATH_RESOLVE.][P:physical?Don't follow symbolic links when traversing directories. The default is determined by getconf PATH_RESOLVE.][r:bsd?Equivalent to --method=bsd --scale=512 for compatibility with other sum(1) implementations.][s:sysv?Equivalent to --method=sys5 for compatibility with other sum(1) implementations.] [ file ... ] [+SEE ALSO?getconf(1), tw(1), uuencode(1)][-? @(#)$Id: cmp (AT&T Research) 2009-01-05 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?cmp - compare two files][+DESCRIPTION?cmp compares two files afile1a and afile2a. cmp writes no output if the files are the same. By default, if the files differ, the byte and line number at which the first difference occurred are written to standard output. Bytes and lines are numbered beginning with 1.][+?If askip1a or askip2a are specified, or the -i option is specified, initial bytes of the corresponding file are skipped before beginning the compare. The skip values are in bytes or can have a suffix of k for kilobytes or m for megabytes.][+?If either afile1a or afiles2a is -, cmp uses standard input starting at the current location.][c:print-chars?Writes control characters as a ^ followed by a letter of the alphabet and precede characters that have the high bit set with M- as with cat(1).][i:ignore-initial]#[skip:=0?Sets default skip values for the operands askip1a and askip2a to askipa.][l:verbose?Write the decimal byte number and the differing bytes (in octal) for each difference.][s:quiet|silent?Write nothing for differing files; return non-zero exit status only.] ] file1 file2 [skip1 [skip2]] [+EXIT STATUS?]{[+0?The files or portions compared are identical.][+1?The files are different.][+>1?An error occurred.]}[+SEE ALSO?comm(1), diff(1), cat(1)][-? @(#)$Id: comm (AT&T Research) 1999-04-28 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?comm - select or reject lines common to two files][+DESCRIPTION?comm reads two files afile1a and afile2a which should be ordered in the collating sequence of the current locale, and produces three text columns as output:]{[+1?Lines only in afile1a.][+2?Lines only in afile2a.][+3?Lines in both files.]}[+?If lines in either file are not ordered according to the collating sequence of the current locale, the results are not specified.][+?If either afile1a or afile2a is -, comm uses standard input starting at the current location.][1?Suppress the output column of lines unique to afile1a.][2?Suppress the output column of lines unique to afile2a.][3?Suppress the output column of lines duplicate in afile1a and afile2a.] file1 file2 [+EXIT STATUS?]{[+0?Both files processed successfully.][+>0?An error occurred.]}[+SEE ALSO?cmp(1), diff(1)][-?@(#)$Id: cp (AT&T Research) 2007-12-13 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?cp - copy files][+DESCRIPTION?If the last argument names an existing directory, cp copies each afilea into a file with the same name in that directory. Otherwise, if only two files are given, cp copies the first onto the second. It is an error if the last argument is not a directory and more than two files are given. By default directories are not copied.][a:archive?Preserve as much as possible of the structure and attributes of the original files in the copy. Equivalent to --physical --preserve --recursive.][p:preserve?Preserve file owner, group, permissions and timestamps.][h:hierarchy|parents?Form the name of each destination file by appending to the target directory a slash and the specified source file name. The last argument must be an existing directory. Missing destination directories are created.][H:metaphysical?Follow command argument symbolic links, otherwise don't follow.][l:link?Make hard links to destination files instead of copies.][L:logical|dereference?Follow symbolic links and copy the files they point to.][P|d:physical|nodereference?Don't follow symbolic links; copy symbolic rather than the files they point to.][+NAME?ln - link files][+DESCRIPTION?If the last argument names an existing directory, ln links each afilea into a file with the same name in that directory. Otherwise, if only two files are given, ln links the first onto the second. It is an error if the last argument is not a directory and more than two files are given. By default directories are not linked.][+NAME?mv - rename files][+DESCRIPTION?If the last argument names an existing directory, mv renames each afilea into a file with the same name in that directory. Otherwise, if only two files are given, mv renames the first onto the second. It is an error if the last argument is not a directory and more than two files are given. If a source and destination file reside on different filesystems then mv copies the file contents to the destination and then deletes the source file.][f:force?Replace existing destination files.][i:interactive|prompt?Prompt whether to replace existing destination files. An affirmative response (y or Y) replaces the file, a quit response (q or Q) exits immediately, and all other responses skip the file.][r|R:recursive?Operate on the contents of directories recursively.][s:symlink|symbolic-link?Make symbolic links to destination files.][u:update?Replace a destination file only if its modification time is older than the corresponding source file modification time.][v:verbose?Print the name of each file before operating on it.][b:backup?Make backups of files that are about to be replaced. See --suffix and --version-control for more information.][F:fsync|sync?fsync(2) each file after it is copied.][S:backup-suffix|suffix?A backup file is made by renaming the file to the same name with the backup suffix appended. The backup suffix is determined in this order: this option, the SIMPLE_BACKUP_SUFFIX, environment variable, or the default value ~.]:[suffix][V:backup-type|version-control?The backup type is determined in this order: this option, the VERSION_CONTROL environment variable, or the default value existing. atypea may be one of:]:[type]{ [+numbered|t?Always make numbered backups. The numbered backup suffix is .aSNSa, where aSa is the backup-suffix and aNa is the version number, starting at 1, incremented with each version.] [+existing|nil?Make numbered backups of files that already have them, otherwise simple backups.] [+simple|never?Always make simple backups.]}[x|X|l:xdev|local|mount|one-file-system?Do not descend into directories in different filesystems than their parents.] source destination file ... directory [+SEE ALSO?pax(1), fsync(2), rename(2), unlink(2), remove(3)][-? @(#)$Id: cut (AT&T Research) 2008-04-01 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?cut - cut out selected columns or fields of each line of a file][+DESCRIPTION?cut bytes, characters, or character-delimited fields from one or more files, contatenating them on standard output.][+?The option argument alista is a comma-separated or blank-separated list of positive numbers and ranges. Ranges can be of three forms. The first is two positive integers separated by a hyphen (alowa-ahigha), which represents all fields from alowa to ahigha. The second is a positive number preceded by a hyphen (-ahigha), which represents all fields from field 1 to ahigha. The last is a positive number followed by a hyphen (alowa-), which represents all fields from alowa to the last field, inclusive. Elements in the alista can be repeated, can overlap, and can appear in any order. The order of the output is that of the input.][+?One and only one of -b, -c, or -f must be specified.][+?If no afilea is given, or if the afilea is -, cut cuts from standard input. The start of the file is defined as the current offset.][b:bytes]:[list?cut based on a list of bytes.][c:characters]:[list?cut based on a list of characters.][d:delimiter]:[delim?The field character for the -f option is set to adelima. The default is the tab character.][f:fields]:[list?cut based on fields separated by the delimiter character specified with the -d optiion.][n:nosplit?Do not split characters. Currently ignored.][R|r:reclen]#[reclen?If areclena > 0, the input will be read as fixed length records of length areclena when used with the -b or -c option.][s:suppress|only-delimited?Suppress lines with no delimiter characters, when used with the -f option. By default, lines with no delimiters will be passsed in untouched.][D:line-delimeter|output-delimiter]:[ldelim?The line delimiter character for the -f option is set to aldelima. The default is the newline character.][N:nonewline?Do not output new-lines at end of each record when used with the -b or -c option.] [file ...] [+EXIT STATUS?]{[+0?All files processed successfully.][+>0?One or more files failed to open or could not be read.]}[+SEE ALSO?paste(1), grep(1)][-? @(#)$Id: date (AT&T Research) 2009-03-03 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?date - set/list/convert dates][+DESCRIPTION?date sets the current date and time (with appropriate privilege), lists the current date or file dates, or converts dates.][+?Most common adatea forms are recognized, including those for crontab(1), ls(1), touch(1), and the default output from date itself.][+?If the adatea operand consists of 4, 6, 8, 10 or 12 digits followed by an optional . and two digits then it is interpreted as: aHHMM.SSa, addHHMM.SSa, ammddHHMM.SSa, ammddHHMMyy.SSa or ayymmddHHMM.SSa, or ammddHHMMccyy.SSa or accyymmddHHMM.SSa. Conflicting standards and practice allow a leading or trailing 2 or 4 digit year for the 10 and 12 digit forms; the X/Open trailing form is used to disambiguate (touch(1) uses the leading form.) Avoid the 10 digit form to avoid confusion. The digit fields are:]{ [+cc?Century - 1, 19-20.] [+yy?Year in century, 00-99.] [+mm?Month, 01-12.] [+dd?Day of month, 01-31.] [+HH?Hour, 00-23.] [+MM?Minute, 00-59.] [+SS?Seconds, 00-60.]}[+?If more than one adatea operand is specified then:]{ [+1.?Each operand sets the reference date for the next operand.] [+2.?The date is listed for each operand.] [+3.?The system date is not set.]}[a:access-time|atime?List file argument access times.][c:change-time|ctime?List file argument change times.][d:date?Use adatea as the current date and do not set the system clock.]:[date][e:epoch?Output the date in seconds since the epoch. Equivalent to --format=%s.][E:elapsed?Interpret pairs of arguments as start and stop dates, sum the differences between all pairs, and list the result as a fmtelapsed(3) elapsed time on the standard output. If there are an odd number of arguments then the last time argument is differenced with the current time.][f:format?Output the date according to the strftime(3) aformata. For backwards compatibility, a first argument of the form +aformata is equivalent to -f format. aformata is in printf(3) style, where %afielda names a fixed size field, zero padded if necessary, and \aca and \annna sequences are as in C. Invalid %afielda specifications and all other characters are copied without change. afielda may be preceded by %- to turn off padding or %_ to pad with space, otherwise numeric fields are padded with 0 and string fields are padded with space. afielda may also be preceded by E for alternate era representation or O for alternate digit representation (if supported by the current locale.) Finally, an integral awidtha preceding afielda truncates the field to awidtha characters. The fields are:]:[format]{ [+%?% character] [+a?abbreviated weekday name] [+A?full weekday name] [+b?abbreviated month name] [+c?ctime(3) style date without the trailing newline] [+C?2-digit century] [+d?day of month number] [+D?date as amm/dd/yya] [+e?blank padded day of month number] [+E?unpadded day of month number] [+f?locale default override date format] [+F?%ISO 8601:2000 standard date format; equivalent to Y-%m-%d] [+g?ls(1) -l recent date with ahh:mma] [+G?ls(1) -l distant date with ayyyya] [+h?abbreviated month name] [+H?24-hour clock hour] [+i?international date(1) date with time zone type name] [+I?12-hour clock hour] [+j?1-offset Julian date] [+J?0-offset Julian date] [+k?date(1) style date] [+K?all numeric date; equivalent to %Y-%m-%d+%H:%M:%S; %_[EO]]K for space separator, %OK adds .%N, %EK adds %.N%z, %_EK adds .%N %z] [+l?ls(1) -l date; equivalent to %Q/%g/%G/] [+L?locale default date format] [+m?month number] [+M?minutes] [+n?newline character] [+N?nanoseconds 000000000-999999999] [+p?meridian (e.g., AM or PM)] [+q?time zone type name (nation code)] [+Q?arecentdistanta: aa is a unique delimter character; arecenta format for recent dates, adistanta format otherwise] [+r?12-hour time as ahh:mm:ss meridiana] [+R?24-hour time as ahh:mma] [+s?number of seconds since the epoch; a.preca preceding s appends apreca nanosecond digits, 9 if apreca is omitted] [+S?seconds 00-60] [+t?tab character] [+T?24-hour time as ahh:mm:ssa] [+u?weekday number 1(Monday)-7] [+U?week number with Sunday as the first day] [+V?ISO week number (i18n is afuna)] [+w?weekday number 0(Sunday)-6] [+W?week number with Monday as the first day] [+x?locale date style that includes month, day and year] [+X?locale time style that includes hours and minutes] [+y?2-digit year (you'll be sorry)] [+Y?4-digit year] [+z?time zone aSHHMMa west of GMT offset where S is + or -] [+Z?time zone name] [+=[=]][-+]]flag?set (default or +) or clear (-) aflaga for the remainder of aformata, or for the remainder of the process if == is specified. aflaga may be:]{ [+l?enable leap second adjustments] [+n?convert %S as %S.%N] [+u?UTC time zone] } [+#?equivalent to %s] [+??alternate?use aalternatea format if a default format override has not been specified, e.g., ls(1) uses "%?%l"; export TM_OPTIONS="format='aoverridea' to override the default]}[i:incremental|adjust?Set the system time in incrementatl adjustments to avoid complete time shift shock. Negative adjustments still maintain monotonic increasing time. Not available on all systems.][L:last?List only the last time for multiple adatea operands.][l:leap-seconds?Include leap seconds in time calculations. Leap seconds after the ast library release date are not accounted for.][m:modify-time|mtime?List file argument modify times.][n!:network?Set network time.][p:parse?Add aformata to the list of strptime(3) parse conversion formats. aformata follows the same conventions as the --format option, with the addition of these format fields:]:[format]{ [+|?If the format failed before this point then restart the parse with the remaining format.] [+&?Call the tmdate(3) heuristic parser. This is is the default when --parse is omitted.]}[s:show?Show the date without setting the system time.][u:utc|gmt|zulu?Output dates in acoordinated universal timea (UTC).][U:unelapsed?Interpret each argument as fmtelapsed(3) elapsed time and list the strelapsed(3) 1/ascalea seconds.]#[scale][z:list-zones?List the known time zone table and exit. The table columns are: country code, standard zone name, savings time zone name, minutes west of UTC, and savings time minutes offset. Blank or empty entries are listed as -.] [ +format | date ... | file ... ] [+SEE ALSO?crontab(1), ls(1), touch(1), fmtelapsed(3), strftime(3), strptime(3), tm(3)][-? @(#)$Id: dirname (AT&T Research) 2009-01-31 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?dirname - return directory portion of file name][+DESCRIPTION?dirname treats astringa as a file name and returns the name of the directory containing the file name by deleting the last component from astringa.][+?If astringa consists solely of / characters the output will be a single / unless PATH_LEADING_SLASHES returned by getconf(1) is 1 and astringa consists of multiple / characters in which case // will be output. Otherwise, trailing / characters are removed, and if there are no remaining / characters in astringa, the string . will be written to standard output. Otherwise, all characters following the last / are removed. If the remaining string consists solely of / characters, the output will be as if the original string had consisted solely as / characters as described above. Otherwise, all trailing slashes are removed and the output will be this string unless this string is empty. If empty the output will be ..][f:file?Print the $PATH relative regular file path for astringa.][r:relative?Print the $PATH relative readable file path for astringa.][x:executable?Print the $PATH relative executable file path for astringa.] string [+EXIT STATUS?]{[+0?Successful Completion.][+>0?An error occurred.]}[+SEE ALSO?basename(1), getconf(1), dirname(3), pathname(3)][-? @(#)$Id: expr (AT&T Research) 2008-01-30 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?expr - evaluate arguments as an expression][+DESCRIPTION?expr evaluates an expression given as arguments and writes the result to standard output. The character 0 will be written to indicate a zero value and nothing will be written to indicate an empty string.][+?Most of the functionality of expr is provided in a more natural way by the shell, sh(1), and expr is provided primarily for backward compatibility.][+?Terms of the expression must be separate arguments. A string argument is one that can not be identified as an integer. Integer-valued arguments may be preceded by a unary plus or minus sign. Because many of the operators use characters that have special meaning to the shell, they must be quoted when entered from the shell.][+?Expressions are formed from the operators listed below in order of increasing precedence within groups. All of the operators are left associative. The symbols aexpr1a and aexpr2a represent expressions formed from strings and integers and the following operators:]{[+aexpr1a | aexpr2a?Returns the evaluation of aexpr1a if it is neither null nor 0, otherwise returns the evaluation of expr2.][+aexpr1a & aexpr2a?Returns the evaluation of aexpr1a if neither expression evaluates to null or 0, otherwise returns 0.][+aexpr1a aopa aexpr2a?Returns the result of a decimal integer comparison if both arguments are integers; otherwise, returns the result of a string comparison using the locale-specific collation sequence. The result of each comparison will be 1 if the specified relationship is true, or 0 if the relationship is false. aopa can be one of the following:]{[+=?Equal.][+==?Equal.][+>?Greater than.][+>=?Greater than or equal to.][+2?An error occurred.]}[+SEE ALSO?regcomp(5), grep(1), sh(1)][-? @(#)$Id: fds (AT&T Research) 2008-08-26 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?fds - list open file descriptor status][+DESCRIPTION?fds lists the status for each open file descriptor. When invoked as a shell builtin it accesses the file descriptors of the calling shell, otherwise it lists the file descriptors passed across exec(2).][l:long?List file descriptor details.][+SEE ALSO?logname(1), who(1), getgroups(2), getsockname(2), getsockopts(2)][-? @(#)$Id: fmt (AT&T Research) 2007-01-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?fmt - simple text formatter][+DESCRIPTION?fmt reads the input files and left justifies space separated words into lines awidtha characters or less in length and writes the lines to the standard output. The standard input is read if - or no files are specified. Blank lines and interword spacing are preserved in the output. Indentation is preserved, and lines with identical indentation are joined and justified.][+?fmt is meant to format mail messages prior to sending, but may also be useful for other simple tasks. For example, in vi(1) the command :!}fmt will justify the lines in the current paragraph.][c:crown-margin?Preserve the indentation of the first two lines within a paragraph, and align the left margin of each subsequent line with that of the second line.][o:optget?Format concatenated optget(3) usage strings.][s:split-only?Split lines only; do not join short lines to form longer ones.][u:uniform-spacing?One space between words, two after sentences.][w:width?Set the output line width to acolumnsa.]#[columns:=72] [ file ... ] [+SEE ALSO?mailx(1), nroff(1), troff(1), vi(1), optget(3)][-? @(#)$Id: fold (AT&T Research) 2004-11-18 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?fold - fold lines][+DESCRIPTION?fold is a filter that folds lines from its input, breaking the lines to have a maximum of awidtha column positions (or bytes if the -b option is specified). Lines are broken by the insertion of a newline character such that each output line is the maximum width possible that does not exceed the specified number of column positions, (or bytes). A line will not be broken in the middle of a character.] [+?Unless the -b option is specified, the following will be treated specially:]{[+carriage-return?The current count of line width will be set to zero. fold will not insert a newline immediately before or after a carriage-return.][+backspace?If positive, the current count of line width will be decremented by one. fold will not insert a newline immediately before or after a backspace.][+tab?Each tab character encountered will advance the column position to the next tab stop. Tab stops are at each column position ana, where ana modulo 8 equals 1.]}[+?If no afilea is given, or if the afilea is -, fold reads from standard input. The start of the file is defined as the current offset.][b:bytes?Count bytes rather than columns so that each carriage-return, backspace, and tab counts as 1.][c:continue?Emit atexta at line splits.]:[text:='\n'][d:delimiter?Break at adelima boundaries.]:[delim][s:spaces?Break at word boundaries. If the line contains any blanks, (spaces or tabs), within the first awidtha column positions or bytes, the line is broken after the last blank meeting the awidtha constraint.][w:width]#[width:=80?Use a maximum line length of awidtha columns instead of the default.] [file ...] [+EXIT STATUS?]{[+0?All files processed successfully.][+>0?An error occurred.]}[+SEE ALSO?paste(1)][-? @(#)$Id: getconf (AT&T Research) 2008-04-24 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?getconf - get configuration values][+DESCRIPTION?getconf displays the system configuration value for anamea. If anamea is a filesystem specific variable then the value is determined relative to apatha or the current directory if apatha is omitted. If avaluea is specified then getconf attempts to change the process local value to avaluea. - may be used in place of apatha when it is not relevant. If apatha is = then the the avaluea is cached and used for subsequent tests in the calling and all child processes. Only writable variables may be set; readonly variables cannot be changed.][+?The current value for anamea is written to the standard output. If anamea is valid but undefined then undefined is written to the standard output. If anamea is invalid or an error occurs in determining its value, then a diagnostic written to the standard error and getconf exits with a non-zero exit status.][+?More than one variable may be set or queried by providing the anamea apatha avaluea 3-tuple for each variable, specifying - for avaluea when querying.][+?If no operands are specified then all known variables are written in anamea=avaluea form to the standard output, one per line. Only one of --call, --name or --standard may be specified.][+?This implementation uses the astgetconf(3) string interface to the native sysconf(2), confstr(2), pathconf(2), and sysinfo(2) system calls. If getconf on $PATH is not the default native getconf, named by $(getconf GETCONF), then astgetconf(3) checks only ast specific extensions and the native system calls; invalid options and/or names not supported by astgetconf(3) cause the getconf on $PATH to be executed.][a:all?Call the native getconf(1) with option -a.][b:base?List base variable name sans call and standard prefixes.][c:call?Display variables with call prefix that matches aREa. The call prefixes are:]:[RE]{ [+CS?confstr(2)] [+PC?pathconf(2)] [+SC?sysconf(2)] [+SI?sysinfo(2)] [+XX?Constant value.]}[d:defined?Only display defined values when no operands are specified.][l:lowercase?List variable names in lower case.][n:name?Display variables with name that match aREa.]:[RE][p:portable?Display the named writable variables and values in a form that can be directly executed by sh(1) to set the values. If anamea is omitted then all writable variables are listed.][q:quote?"..." quote values.][r:readonly?Display the named readonly variables in anamea=avaluea form. If anamea is omitted then all readonly variables are listed.][s:standard?Display variables with standard prefix that matches aREa. Use the --table option to view all standard prefixes, including local additions. The standard prefixes available on all systems are:]:[RE]{ [+AES] [+AST] [+C] [+GNU] [+POSIX] [+SVID] [+XBS5] [+XOPEN] [+XPG]}[t:table?Display the internal table that contains the name, standard, standard section, and system call symbol prefix for each variable.][w:writable?Display the named writable variables in anamea=avaluea form. If anamea is omitted then all writable variables are listed.][v:specification?Call the native getconf(1) with option -v anamea.]:[name] [ name [ path [ value ] ] ... ] [+ENVIRONMENT]{ [+_AST_FEATURES?Process local writable values that are different from the default are stored in the _AST_FEATURES environment variable. The _AST_FEATURES value is a space-separated list of anamea apatha avaluea 3-tuples, where anamea is the system configuration name, apatha is the corresponding path, - if no path is applicable, and avaluea is the system configuration value.]}[+SEE ALSO?pathchk(1), confstr(2), pathconf(2), sysconf(2), astgetconf(3)][-n? @(#)$Id: head (AT&T Research) 2006-09-27 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?head - output beginning portion of one or more files ][+DESCRIPTION?head copies one or more input files to standard output stopping at a designated point for each file or to the end of the file whichever comes first. Copying ends at the point indicated by the options. By default a header of the form ==> afilenamea <== is output before all but the first file but this can be changed with the -q and -v options.][+?If no afilea is given, or if the afilea is -, head copies from standard input starting at the current location.][+?The option argument for -c, and -s can optionally be followed by one of the following characters to specify a different unit other than a single byte:]{[+b?512 bytes.][+k?1-killobyte.][+m?1-megabyte.]}[+?For backwards compatibility, -anumbera is equivalent to -n anumbera.][n:lines?Copy alinesa lines from each file.]#[lines:=10][c:bytes?Copy acharsa bytes from each file.]#[chars][q:quiet|silent?Never ouput filename headers.][s:skip?Skip askipa characters or lines from each file before copying.]#[skip][v:verbose?Always ouput filename headers.] [ file ... ] [+EXIT STATUS?]{[+0?All files copied successfully.][+>0?One or more files did not copy.]}[+SEE ALSO?cat(1), tail(1)][-? @(#)$Id: id (AT&T Research) 2004-06-11 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?id - return user identity][+DESCRIPTION?If no ausera operand is specified id writes user and group IDs and the corresponding user and group names of the invoking process to standard output. If the effective and real IDs do not match, both are written. Any supplementary groups the current process belongs to will also be written.][+?If a ausera operand is specified and the process has permission, the user and group IDs and any supplementary group IDs of the selected user will be written to standard output.][+?If any options are specified, then only a portion of the information is written.][n:name?Write the name instead of the numeric ID.][r:real?Writes real ID instead of the effective ID.][[a?This option is ignored.][g:group?Writes only the group ID.][u:user?Writes only the user ID.][G:groups?Writes only the supplementary group IDs.][s:fair-share?Writes fair share scheduler IDs and groups on systems that support fair share scheduling.] [user] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?logname(1), who(1), getgroups(2)][-? @(#)$Id: join (AT&T Research) 2006-10-31 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?join - relational database operator][+DESCRIPTION?join performs an aequality joina on the files afile1a and afile2a and writes the resulting joined files to standard output. By default, a field is delimited by one or more spaces and tabs with leading spaces and/or tabs ignored. The -t option can be used to change the field delimiter.][+?The ajoin fielda is a field in each file on which files are compared. By default join writes one line in the output for each pair of lines in afiles1a and afiles2a that have identical join fields. The default output line consists of the join field, then the remaining fields from afile1a, then the remaining fields from afile2a, but this can be changed with the -o option. The -a option can be used to add unmatched lines to the output. The -v option can be used to output only unmatched lines.][+?The files afile1a and afile2a must be ordered in the collating sequence of sort -b on the fields on which they are to be joined otherwise the results are unspecified.][+?If either afile1a or afile2a is -, join uses standard input starting at the current location.][e:empty]:[string?Replace empty output fields in the list selected with-o with astringa.][o:output]:[list?Construct the output line to comprise the fields specified in a blank or comma separated list alista. Each element in alista consists of a file number (either 1 or 2), a period, and a field number or 0 representing the join field. As an obsolete feature multiple occurrences of -o can be specified.][t:separator|tabs]:[delim?Use adelima as the field separator for both input and output.][1:j1]#[field?Join on field afielda of afile1a. Fields start at 1.][2:j2]#[field?Join on field afielda of afile2a. Fields start at 1.][j:join]#[field?Equivalent to -1 afielda -2 afielda.][a:unpairable]#[fileno?Write a line for each unpairable line in fileafilenoa, where afilenoa is either 1 or 2, in addition to thenormal output. If -a options appear for both 1 and 2, then all unpairable lines will be output.][v:suppress]#[fileno?Write a line for each unpairable line in file afilenoa, where afilenoa is either 1 or 2, instead of the normal output. If -v options appear for both 1 and 2, then all unpairable lines will be output.] ][i:ignorecase?Ignore case in field comparisons.][B!:mmap?Enable memory mapped reads instead of buffered.][+?The following obsolete option forms are also recognized: -j afielda is equivalent to -1 afielda -2 afielda, -j1 afielda is equivalent to -1 afielda, and -j2 afielda is equivalent to -2 afielda.] file1 file2 [+EXIT STATUS?]{[+0?Both files processed successfully.][+>0?An error occurred.]}[+SEE ALSO?cut(1), comm(1), paste(1), sort(1), uniq(1)][-? @(#)$Id: logname (AT&T Research) 1999-04-30 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?logname - return the user's login name][+DESCRIPTION?logname writes the users's login name to standard output. The login name is the string that is returned by the getlogin(2) function. If getlogin(2) does not return successfully, the corresponding to the real user id of the calling process is used instead.] [+EXIT STATUS?]{[+0?Successful Completion.][+>0?An error occurred.]}[+SEE ALSO?getlogin(2)][-? @(#)$Id: mkdir (AT&T Research) 2007-04-25 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?mkdir - make directories][+DESCRIPTION?mkdir creates one or more directories. By default, the mode of created directories is a=rwx minus the bits set in the umask(1).][m:mode]:[mode?Set the mode of created directories to amodea. amodea is symbolic or octal mode as in chmod(1). Relative modes assume an initial mode of a=rwx.][p:parents?Create any missing intermediate pathname components. For each dir operand that does not name an existing directory, effects equivalent to those caused by the following command shall occur: mkdir -p -m $(umask -S),u+wx $(dirname dir) && mkdir [-m mode]] dir where the -m mode option represents that option supplied to the original invocation of mkdir, if any. Each dir operand that names an existing directory shall be ignored without error.] directory ... [+EXIT STATUS?]{[+0?All directories created successfully, or the -p option was specified and all the specified directories now exist.][+>0?An error occurred.]}[+SEE ALSO?chmod(1), rmdir(1), umask(1)][-? @(#)$Id: mkfifo (AT&T Research) 2009-01-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?mkfifo - make FIFOs (named pipes)][+DESCRIPTION?mkfifo creates one or more FIFO's. By default, the mode of created FIFO is a=rw minus the bits set in the umask(1).][m:mode]:[mode?Set the mode of created FIFO to amodea. amodea is symbolic or octal mode as in chmod(1). Relative modes assume an initial mode of a=rw.] file ... [+EXIT STATUS?]{[+0?All FIFO's created successfully.][+>0?One or more FIFO's could not be created.]}[+SEE ALSO?chmod(1), umask(1)][-1p0? @(#)$Id: __regress__ (AT&T Research) 2009-03-29 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?mktemp - make temporary file or directory][+NAME?__regress__ - shell regression test intercept control][+DESCRIPTION?__regress__ controls the regression test intercepts for shells compiled with SHOPT_REGRESS==1. Shells compiled this way are for testing only. In addition to __regress__ and the --regress command line option, these shells may contain system library function intercepts that behave different from the native counterparts.][+?Each option controls a different test and possibly a different set of intercepts. The options are interpreted dd(1) style -- '-' or '--' prefix not required. This simplifies the specification of the command line --regress=avaluea option, where avaluea is passed as an option to the __regress__ builtin. Typically regression test intercepts are enabled with one or more command line --regress options, with optional specific calls to __regress__ in test scripts to enable/disable intercepts as the test progresses.][+?Each enabled intercept may result in trace lines of the form ksh:REGRESS:aoptiona:aintercepta:ainfoa on the standard error, where aoptiona is one of the options below, aintercepta is the name of the specific intercept for aoptiona, and ainfoa is aoptiona specific information. Unless noted otherwise, one regression test trace line is produced each time an enabled intercept is called.][101:egid?The intercept effective gid is set to aoriginal-egida. The effective gid of the underlying system process is not affected. The trace line info is either egid==rgid or egid!=rgid. The intercepts are:]#?[original-egid:=1]{[+getegid()?The intercept effecive gid is returned. The setgid() intercept may change this between the real gid and aoriginal-egida.][+setgid(gid)?Sets the intercept effective gid to agida. Fails if agida is neither the real gid nor aoriginal-egida.]}[102:euid?The intercept effective uid is set to aoriginal-euida. The effective uid of the underlying system process is not affected. The trace line info is either euid==ruid or euid!=ruid. The intercepts are:]#?[original-euid:=1]{[+geteuid()?The intercept effecive uid is returned. The setuid() intercept may change this between the real uid and aoriginal-euida.][+setuid(uid)?Sets the intercept effective uid to auida. Fails if auida is neither the real uid nor aoriginal-euida.]}[103:p_suid?Specifies a value for SHOPT_P_SUID. Effective uids greater than the non-privileged-uid disable the priveleged mode. The intercepts are:]#?[non-privileged-uid:=1]{[+SHOPT_P_SUID?The SHOPT_P_SUID macro value is overridden by p_suid. A trace line is output for each SHOPT_P_SUID access.]}[104:source?The intercepts are:]{[+sh_source()?The trace line info is the path of the script being sourced. Used to trace shell startup scripts.]}[105:etc?Map file paths matching /etc/* to aetc-dira/*. The intercepts are:]:[etc-dir:=/etc]{[+sh_open()?Paths matching /etc/* are changed to aetc-dira/*.]}[+SEE ALSO?ksh(1), regress(1), rt(1)][-? @(#)$Id: mktemp (AT&T Research) 2009-05-01 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?mktemp - make temporary file or directory][+DESCRIPTION?mktemp creates a temporary file with optional base name prefix aprefixa. If aprefixa is omitted then tmp_ is used and --tmp is implied. If aprefixa contains a directory prefix then that directory overrides any of the directories described below. A temporary file will have mode rw------- and a temporary directory will have mode rwx------, subject to umask(1). Generated paths have these attributes:]{[+*?Lower case to avoid clashes on case ignorant filesystems.][+*?Pseudo-random part to deter denial of service attacks.][+*?Pseudo-random part is a3-charsa.a3-charsa to accomodate 8.3 filesystems.]}[+?A consecutive sequence of X's in aprefixa is replaced by the pseudo-random part. If there are no X's then the pseudo-random part is appended to the prefix.][d:directory?Create a directory instead of a regular file.][m:mode]:[mode?Set the mode of the created temporary to amodea. amodea is symbolic or octal mode as in chmod(1). Relative modes assume an initial mode of u=rwx.][p:default?Use adirectorya if the TMPDIR environment variable is not defined. Implies --tmp.]:[directory][q:quiet?Suppress file and directory error diagnostics.][t:tmp|temporary-directory?Create a path rooted in a temporary directory.][u:undo|unsafe|unwise?Remove the file/directory before exiting. Who would want to do that.] [ prefix ] [+SEE ALSO?mkdir(1), pathtemp(3), mktemp(3)][-? @(#)$Id: paste (AT&T Research) 2008-04-01 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?paste - merge lines of files][+DESCRIPTION?paste concatenates the corresponding lines of a given input file and writes the resulting lines to standard output. By default paste replaces the newline character of every line other than the last input file with the TAB character.][+?Unless the -s option is specified, if an end-of-file is encountered on one or more input files, but not all input files, paste behaves as if empty lines were read from the file(s) on which end-of-file was detected.][+?Unless the -s option is specified, paste is limited by the underlying operating system on how many afilea operands can be specified.][+?If no afilea operands are given or if the afilea is -, paste reads from standard input. The start of the file is defined as the current offset.][s:serial?Paste the lines of one file at a time rather than one line from each file. In this case if the -d option is specified the delimiter will be reset to the first in the list at the beginning of each file.][d:delimiters]:[list?alista specifies a list of delimiters. These delimiters are used circularly instead of TAB to replace the newline character of the input lines. Unless the -s option is specified, the delimiter will be reset to the first element of alista each time a line is processed from each file. The delimiter characters corresponding to alista will be found by treating alista as an ANSI-C string, except that the \0 sequence will insert the empty string instead of the null character.] [file ...] [+EXIT STATUS?]{[+0?All files processed successfully.][+>0?An error occurred.]}[+SEE ALSO?cut(1), cat(1), join(1)][-? @(#)$Id: pathchk (AT&T Research) 2006-09-19 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?pathchk - check pathnames for portability][+DESCRIPTION?pathchk checks each apathnamea to see if it is valid and/or portable. A apathnamea is valid if it can be used to access or create a file without causing syntax errors. A file is portable, if no truncation will result on any conforming POSIX.1 implementation.][+?By default pathchk checks each component of each apathnamea based on the underlying file system. A diagnostic is written to standard error for each pathname that:]{[+-?Is longer than $(getconf PATH_MAX) bytes.][+-?Contains any component longer than $(getconf NAME_MAX) bytes.][+-?Contains any directory component in a directory that is not searchable.][+-?Contains any character in any component that is not valid in its containing directory.][+-?Is empty.]}[p:portability?Instead of performing length checks on the underlying file system, write a diagnostic for each pathname operand that:]{[+-?Is longer than $(getconf _POSIX_PATH_MAX) bytes.][+-?Contains any component longer than $(getconf _POSIX_NAME_MAX) bytes.][+-?Contains any character in any component that is not in the portable filename character set.][+-?Is empty.]} pathname ... [+EXIT STATUS?]{[+0?All apathnamea operands passed all of the checks.][+>0?An error occurred.]}[+SEE ALSO?getconf(1), creat(2), pathchk(2)][-? @(#)$Id: pids (AT&T Research) 2008-04-01 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?pids - list calling shell process ids][+DESCRIPTION?When invoked as a shell builtin, pids lists one or more of the calling process ids determined by getpid(2), getppid(2), getpgrp(2), tcgetpgrp(2) and getsid(2). Unknown or invalid ids have the value -1.][f:format?List the ids specified by aformata. aformata follows printf(3) conventions, except that sfio(3) inline ids are used instead of arguments: %[-+]][awidtha[.aprecisa[.abasea]]]]]](aida)achara. The supported aidas are:]:[format:=PID=%(pid)d PPID=%(ppid)d PGID=%(pgid)d TID=%(tid)d SID=%(sid)d]{[+pid?The process id.][+pgid?The process group id.][+ppid?The parent process id.][+tid|tty?The controlling terminal id.][+sid?The session id.]}[+SEE ALSO?getpid(2), getppid(2), getpgrp(2), tcgetpgrp(2), getsid(2)][-? @(#)$Id: rev (AT&T Research) 2007-11-29 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?rev - reverse the characters or lines of one or more files][+DESCRIPTION?rev copies one or more files to standard output reversing the order of characters on every line of the file or reversing the order of lines of the file if -l is specified.][+?If no afilea is given, or if the afilea is -, rev copies from standard input starting at the current offset.][l:line?Reverse the lines of the file.] [file ...] [+EXIT STATUS?]{[+0?All files copied successfully.][+>0?One or more files did not copy.]}[+SEE ALSO?cat(1), tail(1)][-? @(#)$Id: rm (AT&T Research) 2008-10-15 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?rm - remove files][+DESCRIPTION?rm removes the named afilea arguments. By default it does not remove directories. If a file is unwritable, the standard input is a terminal, and the --force option is not given, rm prompts the user for whether to remove the file. An affirmative response (y or Y) removes the file, a quit response (q or Q) causes rm to exit immediately, and all other responses skip the current file.][c|F:clear|clobber?Clear the contents of each file before removing by writing a 0 filled buffer the same size as the file, executing fsync(2) and closing before attempting to remove. Implemented only on systems that support fsync(2).][d:directory?remove(3) (or unlink(2)) directories rather than rmdir(2), and don't require that they be empty before removal. The caller requires sufficient privilege, not to mention a strong constitution, to use this option. Even though the directory must not be empty, rm still attempts to empty it before removal.][f:force?Ignore nonexistent files and never prompt the user.][i:interactive|prompt?Prompt whether to remove each file. An affirmative response (y or Y) removes the file, a quit response (q or Q) causes rm to exit immediately, and all other responses skip the current file.][r|R:recursive?Remove the contents of directories recursively.][u:unconditional?If --recursive and --force are also enabled then the owner read, write and execute modes are enabled (if not already enabled) for each directory before attempting to remove directory contents.][v:verbose?Print the name of each file before removing it.] file ... [+SEE ALSO?mv(1), rmdir(2), unlink(2), remove(3)][-? @(#)$Id: rmdir (AT&T Research) 2006-08-24 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?rmdir - remove empty directories][+DESCRIPTION?rmdir deletes each given directory. The directory must be empty; containing no entries other than . or ... If a directory and a subdirectory of that directory are specified as operands, the subdirectory must be specified before the parent so that the parent directory will be empty when rmdir attempts to remove it.][e:ignore-fail-on-non-empty?Ignore each non-empty directory failure.][p:parents?Remove each explicit adirectorya argument directory that becomes empty after its child directories are removed.][s:suppress?Suppress the message printed on the standard error when -p is in effect.] directory ... [+EXIT STATUS?]{[+0?All directories deleted successfully.][+>0?One or more directories could not be deleted.]}[+SEE ALSO?mkdir(1), rm(1), rmdir(2), unlink(2)][-?@(#)$Id: stty (AT&T Research) 2008-11-10 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?stty - set or get terminal modes][+DESCRIPTION?stty sets certain terminal I/O modes for the device that is the current standard input; without arguments, it writes the settings of certain modes to standard output.][a:all?Writes to standard output all of the mode settings.][g:save?Writes the current settings to standard output in a form that can be used as an argument to another stty command. The rows and columns values are not included.][t:terminal-group?Print the terminal group id of the device, -1 if unknown.] [mode ...] [+EXTENDED DESCRIPTION?Modes are specified either as a single name or as a name followed by a value. As indicated below, many of the mode names can be preceded by a - to negate its meaning. Modes are listed by group corresponding to field in the termios structure defined in . Modes in the last group are implemented using options in the previous groups. Note that many combinations of modes make no sense, but no sanity checking is performed. The modes are selected from the following:]{ abc }[+EXIT STATUS?]{[+0?All modes reported or set successfully.][+>0?Standard input not a terminaol or one or more modes failed.]}[+SEE ALSO?tegetattr(2), tcsetattr(2), ioctl(2)][-? @(#)$Id: sync (AT&T Research) 2006-10-04 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?sync - schedule file system updates][+DESCRIPTION?sync calls sync(2), which causes all information in memory that updates file systems to be scheduled for writing out to all file systems. The writing, although scheduled, is not necessarily complete upon return from sync.][+?Since sync(2) has no failure indication, sync only fails for option/operand syntax errors, or when sync(2) does not return, in which case sync also does not return.][+?At minimum sync should be called before halting the system. Most systems provide graceful shutdown procedures that include sync -- use them if possible.][+EXIT STATUS?]{[+0?sync(2) returned.][+>0?Option/operand syntax error.]}[+SEE ALSO?sync(2), shutdown(8)]+[-? @(#)$Id: tail (AT&T Research) 2009-03-15 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?tail - output trailing portion of one or more files ][+DESCRIPTION?tail copies one or more input files to standard output starting at a designated point for each file. Copying starts at the point indicated by the options and is unlimited in size.][+?By default a header of the form ==> afilenamea <== is output before all but the first file but this can be changed with the -q and -v options.][+?If no afilea is given, or if the afilea is -, tail copies from standard input. The start of the file is defined as the current offset.][+?The option argument for -c can optionally be followed by one of the following characters to specify a different unit other than a single byte:]{[+b?512 bytes.][+k?1 KiB.][+m?1 MiB.][+g?1 GiB.]}[+?For backwards compatibility, -anumbera is equivalent to -n anumbera and +anumbera is equivalent to -n -anumbera. anumbera may also have these option suffixes: b c f g k l m r.][n:lines]:[lines:=10?Copy alinesa lines from each file. A negative value for alinesa indicates an offset from the end of the file.][b:blocks?Copy units of 512 bytes.][c:bytes]:?[chars?Copy acharsa bytes from each file. A negative value for acharsa indicates an offset from the end of the file.][f:forever|follow?Loop forever trying to read more characters as the end of each file to copy new data. Ignored if reading from a pipe or fifo.][h!:headers?Output filename headers.][l:lines?Copy units of lines. This is the default.][L:log?When a --forever file times out via --timeout, verify that the curent file has not been renamed and replaced by another file of the same name (a common log file practice) before giving up on the file.][q:quiet?Don't output filename headers. For GNU compatibility.][r:reverse?Output lines in reverse order.][s:silent?Don't warn about timeout expiration and log file changes.][t:timeout?Stop checking after atimeouta elapses with no additional --forever output. A separate elapsed time is maintained for each file operand. There is no timeout by default. The default atimeouta unit is seconds. atimeouta may be a catenation of 1 or more integers, each followed by a 1 character suffix. The suffix may be omitted from the last integer, in which case it is interpreted as seconds. The supported suffixes are:]:[timeout]{[+s?seconds][+m?minutes][+h?hours][+d?days][+w?weeks][+M?months][+y?years][+S?scores]}[v:verbose?Always ouput filename headers.] [file ...] [+EXIT STATUS?]{[+0?All files copied successfully.][+>0?One or more files did not copy.]}[+SEE ALSO?cat(1), head(1), rev(1)][-? @(#)$Id: tee (AT&T Research) 2009-03-03 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?tee - duplicate standard input][+DESCRIPTION?tee copies standard input to standard output and to zero or more files. The options determine whether the specified files are overwritten or appended to. The tee utility does not buffer output. If writes to any afilea fail, writes to other files continue although tee will exit with a non-zero exit status.][+?The number of afilea operands that can be specified is limited by the underlying operating system.][a:append?Append the standard input to the given files rather than overwriting them.][i:ignore-interrupts?Ignore SIGINT signal.][l:linebuffer?Set the standard output to be line buffered.] [file ...] [+EXIT STATUS?]{[+0?All files copies successfully.][+>0?An error occurred.]}[+SEE ALSO?cat(1), signal(3)][-? @(#)$Id: tty (AT&T Research) 2008-03-13 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?tty - write the name of the terminal to standard output][+DESCRIPTION?tty writes the name of the terminal that is connected to standard input onto standard output. If the standard input is not a terminal, "not a tty" will be written to standard output.][l:line-number?Write the synchronous line number of the terminal on a separate line following the terminal name line. If the standard input is not a synchronous terminal then "not on an active synchronous line" is written.][s:silent|quiet?Disable the terminal name line. Use [[ -t 0 ]]]] instead.][+EXIT STATUS?]{[+0?Standard input is a tty.][+1?Standard input is not a tty.][+2?Invalid arguments.][+3?A an error occurred.]}[-? @(#)$Id: uname (AT&T Research) 2007-04-19 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?uname - identify the current system ][+DESCRIPTION?By default uname writes the operating system name to standard output. When options are specified, one or more system characteristics are written to standard output, space separated, on a single line. When more than one option is specifed the output is in the order specfied by the -A option below. Unsupported option values are listed as a[option]]a. If any unknown options are specified then the local /usr/bin/uname is called.][+?If any anamea operands are specified then the sysinfo(2) values for each anamea are listed, separated by space, on one line. getconf(1), a pre-existing astandarda interface, provides access to the same information; vendors should spend more time using standards than inventing them.][+?Selected information is printed in the same order as the options below.][a:all?Equivalent to -snrvmpio.][s:system|sysname|kernel-name?The detailed kernel name. This is the default.][n:nodename?The hostname or nodename.][r:release|kernel-release?The kernel release level.][v:version|kernel-version?The kernel version level.][m:machine?The name of the hardware type the system is running on.][p:processor?The name of the processor instruction set architecture.][i:implementation|platform|hardware-platform?The hardware implementation; this is --host-id on some systems.][o:operating-system?The generic operating system name.][h:host-id|id?The host id in hex.][d:domain?The domain name returned by agetdomainnamea(2).][R:extended-release?The extended release name.][A:everything?Equivalent to -snrvmpiohdR.][f:list?List all sysinfo(2) names and values, one per line.][S:sethost?Set the hostname or nodename to anamea. No output is written to standard output.]:[name] [ name ... ] [+SEE ALSO?hostname(1), getconf(1), uname(2), sysconf(2), sysinfo(2)][-n? @(#)$Id: uniq (AT&T Research) 2009-02-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?uniq - Report or filter out repeated lines in a file][+DESCRIPTION?uniq reads an input, comparing adjacent lines, and writing one copy of each input line on the output. The second and succeeding copies of the repeated adjacent lines are not written.][+?If the output file, aoutfilea, is not specified, uniq writes to standard output. If no ainfilea is given, or if the ainfilea is -, uniq reads from standard input with the start of the file is defined as the current offset.][c:count?Output the number of times each line occurred along with the line.][d:repeated|duplicates?Output the first of each duplicate line.][D:all-repeated?Output all duplicate lines as a group with an empty line delimiter specified by adelimita:]:?[delimit:=none]{[n:none?Do not delimit duplicate groups.][p:prepend?Prepend an empty line before each group.][s:separate?Separate each group with an empty line.]}[f:skip-fields]#[fields?afieldsa is the number of fields to skip over before checking for uniqueness. A field is the minimal string matching the BRE [[:blank:]]]]*[^[:blank:]]]]*. -anumbera is equivalent to --skip-fields=anumbera.][i:ignore-case?Ignore case in comparisons.][s:skip-chars]#[chars?acharsa is the number of characters to skip over before checking for uniqueness. If specified along with -f, the first acharsa after the first afieldsa are ignored. If the acharsa specifies more characters than are on the line, an empty string will be used for comparison. +anumbera is equivalent to --skip-chars=anumbera.][u:unique?Output unique lines.][w:check-chars]#[chars?acharsa is the number of characters to compare after skipping any specified fields and characters.] [infile [outfile]] [+EXIT STATUS?]{[+0?The input file was successfully processed.][+>0?An error occurred.]}[+SEE ALSO?sort(1), grep(1)][-? @(#)$Id: wc (AT&T Research) 2006-08-25 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?wc - print the number of bytes, words, and lines in files][+DESCRIPTION?wc reads one or more input files and, by default, for each file writes a line containing the number of newlines, awordas, and bytes contained in each file followed by the file name to standard output in that order. A aworda is defined to be a non-zero length string delimited by isspace(3) characters.][+?If more than one file is specified, wc writes a total count for all of the named files with total written instead of the file name.][+?By default, wc writes all three counts. Options can specified so that only certain counts are written. The options -c and -m are mutually exclusive.][+?If no afilea is given, or if the afilea is -, wc reads from standard input and no filename is written to standard output. The start of the file is defined as the current offset.][l:lines?List the line counts.][w:words?List the word counts.][c:bytes|chars:chars?List the byte counts.][m|C:multibyte-chars?List the character counts.][q:quiet?Suppress invalid multibyte character warnings.][L:longest-line|max-line-length?List the longest line length.] [file ...] [+EXIT STATUS?]{[+0?All files processed successfully.][+>0?One or more files failed to open or could not be read.]}[+SEE ALSO?cat(1), isspace(3)][a?Set the export attribute for each variable whose name does not contain a . that you assign a value in the current shell environment.][b?The shell writes a message to standard error as soon it detects that a background job completes rather than waiting until the next prompt.][e?A simple command that has an non-zero exit status will cause the shell to exit unless the simple command is:]{[++?contained in an && or || list.][++?the command immediately following if, while, or until.][++?contained in the pipeline following !.]}[f?Pathname expansion is disabled.][h?Obsolete. Causes each command whose name has the syntax of an alias to become a tracked alias when it is first encountered.][k?This is obsolete. All arguments of the form anamea=avaluea are removed and placed in the variable assignment list for the command. Ordinarily, variable assignments must precede command arguments.][m?When enabled, the shell runs background jobs in a separate process group and displays a line upon completion. This mode is enabled by default for interactive shells on systems that support job control.][n?The shell reads commands and checks for syntax errors, but does not execute the command. Usually specified on command invocation.][o]:?[option?If aoptiona is not specified, the list of options and their current settings will be written to standard output. When invoked with a + the options will be written in a format that can be reinput to the shell to restore the settings. This option can be repeated to enable/disable multiple options. The value of aoptiona must be one of the following:]{[+allexport?Equivalent to -a.][+bgnice?Runs background jobs at lower priorities.][+braceexpand?Equivalent to -B.] [+emacs?Enables/disables emacs editing mode.][+errexit?Equivalent to -e.][+globstar?Equivalent to -G.][+gmacs?Enables/disables gmacs editing mode. gmacs editing mode is the same as emacs editing mode except for the handling of ^T.][+histexpand?Equivalent to -H.][+ignoreeof?Prevents an interactive shell from exiting on reading an end-of-file.][+keyword?Equivalent to -k.][+markdirs?A trailing / is appended to directories resulting from pathname expansion.][+monitor?Equivalent to -m.][+multiline?Use multiple lines when editing lines that are longer than the window width.][+noclobber?Equivalent to -C.][+noexec?Equivalent to -n.][+noglob?Equivalent to -f.][+nolog?This has no effect. It is provided for backward compatibility.][+notify?Equivalent to -b.][+nounset?Equivalent to -u.][+pipefail?A pipeline will not complete until all components of the pipeline have completed, and the exit status of the pipeline will be the value of the last command to exit with non-zero exit status, or will be zero if all commands return zero exit status.][+privileged?Equivalent to -p.][+showme?Simple commands preceded by a ; will be traced as if -x were enabled but not executed.][+trackall?Equivalent to -h.][+verbose?Equivalent to -v.][+vi?Enables/disables vi editing mode.][+viraw?Does not use canonical input mode when using vi edit mode.][+xtrace?Equivalent to -x.]}[p?Privileged mode. Disabling -p sets the effective user id to the real user id, and the effective group id to the real group id. Enabling -p restores the effective user and group ids to their values when the shell was invoked. The -p option is on whenever the real and effective user id is not equal or the real and effective group id is not equal. User profiles are not processed when -p is enabled.][r?restricted. Enables restricted shell. This option cannot be unset once enabled.][t?Obsolete. The shell reads one command and then exits.][u?If enabled, the shell displays an error message when it tries to expand a variable that is unset.][v?Verbose. The shell displays its input onto standard error as it reads it.][x?Execution trace. The shell will display each command after all expansion and before execution preceded by the expanded value of the PS4 parameter.][B?Enable {...} group expansion. On by default.][C?Prevents existing regular files from being overwritten using the > redirection operator. The >| redirection overrides this noclobber option.][G?Causes ** by itself to also match all sub-directories during pathname expansion.][H?Enable !-style history expansion similar to csh.][-1c? @(#)$Id: break (AT&T Research) 1999-04-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?break - break out of loop ][+DESCRIPTION?break is a shell special built-in that exits the smallest enclosing for, select, while, or until loop, or the ana-th enclosing loop if ana is specified. Execution continues at the command following the loop(s).][+?If ana is given, it must be a positive integer >= 1. If ana is larger than the number of enclosing loops, the last enclosing loop will be exited.] [n] [+EXIT STATUS?0][+SEE ALSO?continue(1), return(1)][-1c? @(#)$Id: continue (AT&T Research) 1999-04-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?continue - continue execution at top of the loop][+DESCRIPTION?continue is a shell special built-in that continues execution at the top of smallest enclosing enclosing for, select, while, or until loop, if any; or the top of the ana-th enclosing loop if ana is specified.][+?If ana is given, it must be a positive integer >= 1. If ana is larger than the number of enclosing loops, the last enclosing loop will be used.] [n] [+SEE ALSO?break(1)]r [varname seconds][-1c? @(#)$Id: alias (AT&T Research) 1999-07-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?alias - define or display aliases][+DESCRIPTION?alias creates or redefines alias definitions or writes the existing alias definitions to standard output. An alias definitions provides a string value that will replace a command name when the command is read. Alias names can contain any printable character which is not special to the shell. If an alias value ends in a space or tab, then the word following the command name the alias replaces is also checked to see whether it is an alias.][+?If no anameas are specified then the names and values of all aliases are written to standard output. Otherwise, for each anamea that is specified, and =avaluea is not specified, the current value of the alias corresponding to anamea is written to standard output. If =avaluea is specified, the alias anamea will be created or redefined.][+?alias is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on avaluea. An alias definition only affects scripts read by the current shell environment. It does not effect scripts run by this shell.][p?Causes the output to be in the form of alias commands that can be used as input to the shell to recreate the current aliases.][t?Used for tracked aliases. These are aliases that connect a command name to the pathname of the command and are reset when the PATH variable is unset. The tracked aliases feature is now obsolete.][x?Ignored, this option is obsolete.] [name[=value]...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?One or more anamea operands did not have an alias definition, or an error occurred.]}[+SEE ALSO?sh(1), unalias(1)][-1c? @(#)$Id: builtin (AT&T Research) 1999-07-10 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?builtin - add, delete, or display shell built-ins][+DESCRIPTION?builtin can be used to add, delete, or display built-in commands in the current shell environment. A built-in command executes in the current shell process and can have side effects in the current shell. On most systems, the invocation time for built-in commands is one or two orders of magnitude less than commands that create a separate process.][+?For each apathnamea specified, the basename of the pathname determines the name of the built-in. For each basename, the shell looks for a C level function in the current shell whose name is determined by prepending b_ to the built-in name. If apathnamea contains a /, then the built-in is bound to this pathname. A built-in bound to a pathname will only be executed if apathnamea is the first executable found during a path search. Otherwise, built-ins are found prior to performing the path search.][+?If no apathnamea operands are specified, then builtin displays the current list of built-ins, or just the special built-ins if -s is specified, on standard output. The full pathname for built-ins that are bound to pathnames are displayed.][+?Libraries containing built-ins can be specified with the -f option. If the library contains a function named lib_init(), this function will be invoked with argument 0 when the library is loaded. The lib_init() function can load built-ins by invoking an appropriate C level function. In this case there is no restriction on the C level function name.][+?The C level function will be invoked with three arguments. The first two are the same as main() and the third one is a pointer.][+?builtin cannot be invoked from a restricted shell.][d?Deletes each of the specified built-ins. Special built-ins cannot be deleted.][f]:[lib?On systems with dynamic linking, aliba names a shared library to load and search for built-ins. Libraries are search for in $PATH and system dependent library directories. The system dependent shared library prefix and/or suffix may be omitted. Once a library is loaded, its symbols become available for the current and subsequent invocations of builtin. Multiple libraries can be specified with separate invocations of builtin. Libraries are searched in the reverse order in which they are specified.][s?Display only the special built-ins.] [pathname ...] [+EXIT STATUS?]{[+0?All apathnamea operands and -f options processed successfully.][+>0?An error occurred.]}[+SEE ALSO?whence(1)][-1c? @(#)$Id: cd (AT&T Research) 1999-06-05 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?cd - change working directory ][+DESCRIPTION?cd changes the current working directory of the current shell environment.][+?In the first form with one operand, if adirectorya begins with /, or if the first component is . or .., the directory will be changed to this directory. If directory is -, the directory will be changed to the last directory visited. Otherwise, if the CDPATH environment variable is set, cd searches for adirectorya relative to each directory named in the colon separated list of directories defined by CDPATH. If CDPATH not set, cd changes to the directory specified by adirectorya.][+?In the second form, the first occurrence of the string aolda contained in the pathname of the present working directory is replaced by the string anewa and the resulting string is used as the directory to which to change.][+?When invoked without operands and when the HOME environment variable is set to a nonempty value, the directory named by the HOME environment variable will be used. If HOME is empty or unset, cd will fail.][+?When cd is successful, the PWD environment variable will be set to the name of an absolute pathname that does not contain any .. components corresponding to the new directory. The environment variable OLDPWD will be set to the previous value of PWD. If the new directory is found by searching the directories named by CDPATH, or if adirectorya is -, or if the two operand form is used, the new value of PWD will be written to standard output.][+?If both -L and -P are specified, the last one specified will be used. If neither -P or -L is specified then the behavior will be determined by the getconf parameter PATH_RESOLVE. If PATH_RESOLVE is physical, then the behavior will be as if -P were specified. Otherwise, the behavior will be as if -L were specified.][L?Handle each pathname component .. in a logical fashion by moving up one level by name in the present working directory.][P?The present working directory is first converted to an absolute pathname that does not contain symbolic link components and symbolic name components are expanded in the resulting directory name.] [directory] old new [+EXIT STATUS?]{[+0?Directory successfully changed.][+>0?An error occurred.]}[+SEE ALSO?pwd(1), getconf(1)][-1c? @(#)$Id: command (AT&T Research) 2003-08-01 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?command - execute a simple command][+DESCRIPTION?Without -v or -V, command executes acommanda with arguments given by aarga, suppressing the shell function lookup that normally occurs. In addition, if acommanda is a special built-in command, then the special properties are removed so that failures will not cause the script that executes it to terminate.][+?With the -v or -V options, command is equivalent to the whence(1) command.][p?Causes a default path to be searched rather than the one defined by the value of PATH.][v?Equivalent to whence acommanda [aarga ...]].][x?If acommanda fails because there are too many aargas, it will be invoked multiple times with a subset of the arguments on each invocation. Arguments that occur prior to the first word that expand to multiple arguments and arguments that occur after the last word that expands to multiple arguments will be passed on each invocation. The exit status will be the maximum invocation exit status.][V?Equivalent to whence -v acommanda [aarga ...]].] [command [arg ...]] [+EXIT STATUS?If acommanda is invoked, the exit status of command will be that of acommanda. Otherwise, it will be one of the following:]{[+0?command completed successfully.][+>0?-v or -V has been specified and an error occurred.][+126?acommanda was found but could not be invoked.][+127?acommanda could not be found.]}[+SEE ALSO?whence(1), getconf(1)][-1c?@(#)$Id: . (AT&T Research) 2000-04-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?. - execute commands in the current environment][+DESCRIPTION?. is a special built-in command that executes commands from a function or a file in the current environment.][+?If anamea refers to a function defined with the function anamea syntax, the function executes in the current environment as if it had been defined with the anamea() syntax so that there is no scoping. Otherwise, commands from the file defined by anamea are executed in the current environment. Note that the complete script is read before it begins to execute so that any aliases defined in this script will not take effect until the script completes execution.][+?When anamea refers to a file, the PATH variable is searched for the file containing commands. In this case execute permission is not required for anamea.][+?If any aargas are specified, these become the positional parameters for the duration of the function or script and are restored upon completion.] name [arg ...] [+EXIT STATUS?If anamea is found, then the exit status is that of the last command executed. Otherwise, since this is a special built-in, an error will cause a non-interactive shell to exit with a non-zero exit status. An interactive shell returns a non-zero exit status to indicate an error.][+SEE ALSO?command(1), ksh(1)] [-n] [arg...] [arg...][-1c? @(#)$Id: eval (AT&T Research) 1999-07-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?eval - create a shell command and process it][+DESCRIPTION?eval is a shell special built-in command that constructs a command by concatenating the aargas together, separating each with a space. The resulting string is then taken as input to the shell and evaluated in the current environment. Note that command words are expanded twice; once to construct aarga, and again when the shell executes the constructed command.][+?It is not an error if aarga is not given.] [arg...] [+EXIT STATUS?If aarga is not specified, the exit status is 0. Otherwise, it is the exit status of the command defined by the aarga operands.][+SEE ALSO?exec(1), trap(1), .(1)][-1c? @(#)$Id: exec (AT&T Research) 1999-07-10 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?exec - execute command, open/close and duplicate file descriptors][+DESCRIPTION?exec is a special built-in command that can be used to manipulate file descriptors or to replace the current shell with a new command.][+?If acommanda is specified, then the current shell process will be replaced by acommanda rather than running acommanda and waiting for it to complete. Note that there is no need to use exec to enhance performance since the shell implicitly uses the exec mechanism internally whenever possible.][+?If no operands are specified, exec can be used to open or close files, or to manipulate file descriptors from 0 to 9 in the current shell environment using the standard redirection mechanism available with all commands. The close-on-exec flags will be set on file descriptor numbers greater than 2 that are opened this way so that they will be closed when another program is invoked.][+?Because exec is a special command, any failure will cause the script that invokes it to exit. This can be prevented by invoking exec from the command utility.][+?exec cannot be invoked from a restricted shell to create files or to open a file for writing or appending.][c?Clear all environment variables before executions except variable assignments that are part of the current exec command.][a]:[name?argv[0]] will be set to anamea for acommanda] [command [arg ...]] [+EXIT STATUS?If acommanda is specified, exec does not return. Otherwise, the exit status is one of the following:]{[+0?All I/O redirections were successful.][+>0?An error occurred.]}[+SEE ALSO?command(1), eval(1)][-1c? @(#)$Id: exit (AT&T Research) 1999-07-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?exit - exit the current shell][+DESCRIPTION?exit is shell special built-in that causes the shell that invokes it to exit. Before exiting the shell, if the EXIT trap is set it will be invoked.][+?If ana is given, it will be used to set the exit status.] [n] [+EXIT STATUS?If ana is specified, the exit status is the least significant eight bits of the value of ana. Otherwise, the exit status is the exit status of preceding command. When invoked inside a trap, the preceding command means the command that invoked the trap.][+SEE ALSO?break(1), return(1)][-1c? @(#)$Id: export (AT&T Research) 1999-07-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?export - set export attribute on variables][+DESCRIPTION?export sets the export attribute on each of the variables specified by anamea which causes them to be in the environment of subsequently executed commands. If =avaluea is specified, the variable anamea is set to avaluea.][+?If no anameas are specified then the names and values of all exported variables are written to standard output.][+?export is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on avaluea.][p?Causes the output to be in the form of export commands that can be used as input to the shell to recreate the current exports.] [name[=value]...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?sh(1), typeset(1)]:[-1c? @(#)$Id: getopts (AT&T Research) 2005-01-01 $ ][-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? ? - parse utility options][+DESCRIPTION?The getopts utility can be used to retrieve options and arguments from a list of arguments given by aargsa or the positional parameters if aargsa is omitted. It can also generate usage messages and a man page for the command based on the information in aoptstringa.][+?Each time it is invoked, the getopts utility places the value of the next option in the shell variable specified by the anamea operand and the index of the next argument to be processed in the shell variable OPTIND. When the shell is invoked OPTIND is initialized to 1. When an option requires or permits an option argument, getopts places the option argument in the shell variable OPTARG. Otherwise OPTARG is set to 1 when the option is set and 0 when the option is unset.][+?The aoptstringa string consists of alpha-numeric characters, the special characters +, -, ?, :, and , or character groups enclosed in [...]]. Character groups may be nested in {...}. Outside of a [...]] group, a single new-line followed by zero or more blanks is ignored. One or more blank lines separate the options from the command argument synopsis.][+?Each [...]] group consists of an optional label, optional attributes separated by :, and an optional description string following ?. The characters from the ? to the end of the next ]] are ignored for option parsing and short usage messages. They are used for generating verbose help or man pages. The : character may not appear in the label. The ? character must be specified as ?? in the label and the ]] character must be specified as ]]]] in the description string. Text between two (backspace) characters indicates that the text should be emboldened when displayed. Text between two \a (bell) characters indicates that the text should be emphasized or italicized when displayed. Text between two \v (vertical tab) characters indicates that the text should displayed in a fixed width font. Text between two \f (formfeed) characters will be replaced by the output from the shell function whose name is that of the enclosed text.][+?All output from this interface is written to the standard error.][+?There are several group types:]{[+1.?A group of the form [-[aversiona]][aflaga[anumbera]]]]...[?atexta]]]] appearing as the first group enables the extended interface. aversiona specifies the interface version, currently 1. The latest version is assumed if aversiona is omitted. Future enhancements may increment aversiona, but all versions will be supported. atexta typically specifies an SCCS or CVS identification string. Zero or more aflagsa with optional anumbera values may be specified to control option parsing. The flags are:]{[++?Arguments beginning with + are considered options.][+c?Cache this aoptstringa for multiple passes. Used to optimize builtins that may be called many times within the same process.][+i?Ignore this aoptstringa when generating help. Used when combining aoptstringa values from multiple passes.][+l?Display only alongnamea options in help messages.][+n?Associate -anumbera and +anumbera options with the first option with numeric arguments.][+o?The - option character prefix is optional (supports obsolete ps(1) option syntax.)][+p?anumbera specifies the number of - characters that must prefix long option names. The default is 2; 0, 1 or 2 are accepted (e.g., p0 for dd(1) and p1 for find(1).)][+s?anumbera specifies the --??man section number, 1 by default.]}[+2.?An option specification of the form [aoptiona[!]][=anumbera]][:alongnamea]][?atexta]]]]. In this case the first field is the option character; this is the value returned in the anamea operand when the option is matched. If there is no option character then a two or more digit number should be specified. This number will be returned as the value of the anamea operand if the long option is matched. If aoptiona is followed by ! then the option character sense is the inverse of the longname sense. For options that do not take values OPTARG will be set to 0 for ! inverted option characters and 1 otherwise. =anumbera optionally specifies a number to be returned in the anamea operand instead of the option character. A longname is specified by --alongnamea and is matched by the shortest non-ambiguous prefix of all long options. * in the alongnamea field indicates that only characters up to that point need to match, provided any additional characters match exactly. The enclosing [ and ]] can be omitted for an option that does not have a longname or descriptive text.][+3.?An option argument specification. Options that take arguments can be followed by : (string value) or # (numeric value) and an option argument specification. An option argument specification consists of the option argument name as field 1. The remaining : separated fields are a type name and zero or more of the special attribute words listof, oneof, and ignorecase. A default option value may be specified in the final field as :=adefaulta. The option argument specification may be followed by a list of option value descriptions enclosed in braces. A long option that takes an argument is specified as --alongnamea=avaluea. If the : or # is followed by ? then the option argument is optional. If only the option character form is specified then the optional argument value is not set if the next argument starts with - or +.][+4.?A option value description.][+5.?A argument specification. A list of valid option argument values can be specified by enclosing them inside a {...} following the option argument specification. Each of the permitted values can be specified with a [...]] containing the value followed by a description.][+6.?A group of the form [+\n...]] will display the characters representing ... in fixed with font without adding line breaks.][+7.?A group of the form [+anamea?atexta]] specifies a section anamea with descriptive atexta. If anamea is omitted then atexta is placed in a new paragraph.][+8.?A group of the form [-anamea?atexta]] specifies entries for the IMPLEMENTATION section.]}[+?A leading : character in aoptstringa affects the way errors are handled. If an option character or longname argument not specified in aoptstringa is encountered when processing options, the shell variable whose name is anamea will be set to the ? character. The shell variable OPTARG will be set to the character found. If an option argument is missing or has an invalid value, then anamea will be set to the : character and the shell variable OPTARG will be set to the option character found. Without the leading :, anamea will be set to the ? character, OPTARG will be unset, and an error message will be written to standard error when errors are encountered.][+?A leading + character or a + following a leading : in aoptstringa specifies that arguments beginning with + will also be considered options.][+?The end of options occurs when:]{[+1.?The special argument -- is encountered.][+2.?An argument that does not begin with a - is encountered.][+3.?A help argument is specified.][+4.?An error is encountered.]}[+?If OPTIND is set to the value 1, a new set of arguments can be used.][+?getopts can also be used to generate help messages containing command usage and detailed descriptions. Specify aargsa as:]{ [+-???To generate a usage synopsis.][+--?????To generate a verbose usage message.][+--????man?To generate a formatted man page.][+--????api?To generate an easy to parse usage message.][+--????html?To generate a man page in html format.][+--????nroff?To generate a man page in nroff format.][+--????usage?List the current aoptstringa.][+--??????anamea?List version=ana, ana>0, if the option anamea is recognized by getopts.]}[+?When the end of options is encountered, getopts exits with a non-zero return value and the variable OPTIND is set to the index of the first non-option argument.]a:[name?Use anamea instead of the command name in usage messages.] opstring name [args...] [+EXIT STATUS]{[+0?An option specified was found.][+1?An end of options was encountered.][+2?A usage or information message was generated.]}[-1c?@(#)$Id: bg (AT&T Research) 2000-04-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?bg - resume jobs in the background][+DESCRIPTION?bg places the given ajobas into the background and sends them a CONT signal to start them running.][+?If ajoba is omitted, the most recently started or stopped background job is resumed or continued in the background.][+?Each ajoba can be specified as one of the following:]{[+anumbera?anumbera refers to a process id.][+-anumbera?anumbera refers to a process group id.][+%anumbera?anumbera refer to a job number.][+%astringa?Refers to a job whose name begins with astringa.][+%??astringa?Refers to a job whose name contains astringa.][+%+ or %%?Refers to the current job.][+%-?Refers to the previous job.]} [job ...] [+EXIT STATUS?]{[+0?If all background jobs are started.][+>0?If one more jobs does not exist or there are no background jobs.]}[+SEE ALSO?wait(1), fg(1), disown(1), jobs(1)][-1c?@(#)$Id: fg (AT&T Research) 2000-04-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?fg - move jobs to the foreground][+DESCRIPTION?fg places the given ajobas into the foreground in sequence and sends them a CONT signal to start each running.][+?If ajoba is omitted, the most recently started or stopped background job is moved to the foreground.][+?Each ajoba can be specified as one of the following:]{[+anumbera?anumbera refers to a process id.][+-anumbera?anumbera refers to a process group id.][+%anumbera?anumbera refer to a job number.][+%astringa?Refers to a job whose name begins with astringa.][+%??astringa?Refers to a job whose name contains astringa.][+%+ or %%?Refers to the current job.][+%-?Refers to the previous job.]} [job ...] [+EXIT STATUS?If fg brings one or more jobs into the foreground, the exit status of fg will be that of the last ajoba. If one or more jobs does not exist or has completed, fg will return a non-zero exit status.]}[+SEE ALSO?wait(1), bg(1), jobs(1)][-1c?@(#)$Id: disown (AT&T Research) 2000-04-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?disown - disassociate a job with the current shell][+DESCRIPTION?disown prevents the current shell from sending a HUP signal to each of the given ajobas when the current shell terminates a login session.][+?If ajoba is omitted, the most recently started or stopped background job is used.][+?Each ajoba can be specified as one of the following:]{[+anumbera?anumbera refers to a process id.][+-anumbera?anumbera refers to a process group id.][+%anumbera?anumbera refer to a job number.][+%astringa?Refers to a job whose name begins with astringa.][+%??astringa?Refers to a job whose name contains astringa.][+%+ or %%?Refers to the current job.][+%-?Refers to the previous job.]} [job ...] [+EXIT STATUS?]{[+0?If all jobs are successfully disowned.][+>0?If one more ajobas does not exist.]}[+SEE ALSO?wait(1), bg(1), jobs(1)][-1c?@(#)$Id: jobs (AT&T Research) 2000-04-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?jobs - display status of jobs][+DESCRIPTION?jobs displays information about specified ajobas that were started by the current shell environment on standard output. The information contains the job number enclosed in [...]], the status, and the command line that started the job.][+?If ajoba is omitted, jobs displays the status of all stopped jobs, background jobs, and all jobs whose status has changed since last reported by the shell.][+?When jobs reports the termination status of a job, the shell removes the jobs from the list of known jobs in the current shell environment.][+?Each ajoba can be specified as one of the following:]{[+anumbera?anumbera refers to a process id.][+-anumbera?anumbera refers to a process group id.][+%anumbera?anumbera refer to a job number.][+%astringa?Refers to a job whose name begins with astringa.][+%??astringa?Refers to a job whose name contains astringa.][+%+ or %%?Refers to the current job.][+%-?Refers to the previous job.]}[l?jobs displays process id's after the job number in addition to the usual information][n?Only the jobs whose status has changed since the last prompt is displayed.][p?The process group leader id's for the specified jobs are displayed.] [job ...] [+EXIT STATUS?]{[+0?The information for each job is written to standard output.][+>0?One or more jobs does not exist.]}[+SEE ALSO?wait(1), ps(1), fg(1), bg(1)][-1cn?@(#)$Id: hist (AT&T Research) 2000-04-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? ? - process command history list][+DESCRIPTION? ? lists, edits, or re-executes, commands previously entered into the current shell environment.][+?The command history list references commands by number. The first number in the list is selected arbitrarily. The relationship of a number to its command does not change during a login session. When the number reaches 32767 the number wraps around to 1 but maintains the ordering.][+?When commands are edited (when the -l option is not specified), the resulting lines will be entered at the end of the history list and then reexecuted by the current shell. The ? command that caused the editing will not be entered into the history list. If the editor returns a non-zero exit status, this will suppress the entry into the history list and the command reexecution. Command line variable assignments and redirections affect both the ? command and the commands that are reexecuted.][+?afirsta and alasta define the range of commands. afirsta and alasta can be one of the following:]{[+anumbera?A positive number representing a command number. A + sign can precede anumbera.][+-anumbera?A negative number representing a command that was executed anumbera commands previously. For example, -1 is the previous command.][+astringa?astringa indicates the most recently entered command that begins with astringa. astringa should not contain an =.]}[+?If afirsta is omitted, the previous command is used, unless -l is specified, in which case it will default to -16 and alasta will default to -1.][+?If afirsta is specified and alasta is omitted, then alasta will default to afirsta unless -l is specified in which case it will default to -1.][+?If no editor is specified, then the editor specfied by the HISTEDIT variable will be used if set, or the FCEDIT variable will be used if set, otherwise, ed will be used.][e]:[editor?aeditora specifies the editor to use to edit the history command. A value of - for aeditora is equivalent to specifiying the -s option.][l?List the commands rather than editing and reexecuting them.][N]#[num?Start at anuma commands back.][n?Suppress the command numbers when the commands are listed.][p?Writes the result of history expansion for each operand to standard output. All other options are ignored.][r?Reverse the order of the commands.][s?Reexecute the command without invoking an editor. In this case an operand of the form aolda=anewa can be specified to change the first occurrence of the string aolda in the command to anewa before reexecuting the command.] [first [last] ] [+EXIT STATUS?If a command is reexecuted, the exit status is that of the command that gets reexecuted. Otherwise, it is one of the following:]{[+0?Successfully completion of the listing.][+>0?An error occurred.]}[+SEE ALSO?ksh(1), sh(1), ed(1)][-1c? @(#)$Id: kill (AT&T Research) 1999-06-17 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?kill - terminate or signal process][+DESCRIPTION?With the first form in which -l is not specified, kill sends a signal to one or more processes specified by ajoba. This normally terminates the processes unless the signal is being caught or ignored.][+?A ajoba can be specified as one of the following:]{[+anumbera?anumbera refers to a process id.][+-anumbera?anumbera refers to a process group id.][+%anumbera?anumbera refer to a job number.][+%astringa?Refers to a job whose name begins with astringa.][+%??astringa?Refers to a job whose name contains astringa.][+%+ or %%?Refers to the current job.][+%-?Refers to the previous job.]}[+?If the signal is not specified with either the -n or the -s option, the SIGTERM signal is used.][+?If -l is specified, and no aarga is specified, then kill writes the list of signals to standard output. Otherwise, aarga can be either a signal name, or a number representing either a signal number or exit status for a process that was terminated due to a signal. If a name is given the corresponding signal number will be written to standard output. If a number is given the corresponding signal name will be written to standard output.][l?List signal names or signal numbers rather than sending signals as described above. The -n and -s options cannot be specified.][n]#[signum?Specify a signal number to send. Signal numbers are not portable across platforms, except for the following:]{[+0?No signal][+1?HUP][+2?INT][+3?QUIT][+6?ABRT][+9?KILL][+14?ALRM][+15?TERM]}[s]:[signame?Specify a signal name to send. The signal names are derived from their names in without the SIG prefix and are case insensitive. kill -l will generate the list of signals on the current platform.] job ... -l [arg ...] [+EXIT STATUS?]{[+0?At least one matching process was found for each ajoba operand, and the specified signal was successfully sent to at least one matching process.][+>0?An error occurred.]}[+SEE ALSO?ps(1), jobs(1), kill(2), signal(2)][-1c?@(#)$Id: let (AT&T Research) 2000-04-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?let - evaluate arithmetic expressions][+DESCRIPTION?let evaluates each aexpra in the current shell environment as an arithmetic expression using ANSI C syntax. Variables names are shell variables and they are recursively evaluated as arithmetic expressions to get numerical values.][+?let has been made obsolete by the ((...)) syntax of ksh(1) which does not require quoting of the operators to pass them as command arguments.] [expr ...] [+EXIT STATUS?]{[+0?The last aexpra evaluates to a non-zero value.][+>0?The last aexpra evaluates to 0 or an error occurred.]}[+SEE ALSO?expr(1), test(1), ksh(1)][-1c? @(#)$Id: print (AT&T Research) 2008-11-26 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?print - write arguments to standard output][+DESCRIPTION?By default, print writes each astringa operand to standard output and appends a newline character.] [+?Unless, the -r or -f option is specified, each \ character in each astringa operand is processed specially as follows:]{[+\a?Alert character.][+?Backspace character.][+\c?Terminate output without appending newline. The remaining astringa operands are ignored.][+\f?Formfeed character.][+\n?Newline character.][+\t?Tab character.][+\v?Vertical tab character.][+\\?Backslash character.][+\E?Escape character (ASCII octal 033).][+\0axa?The 8-bit character whose ASCII code is the 1-, 2-, or 3-digit octal number axa.]}[+?If both -e and -r are specified, the last one specified is the one that is used.][+?When the -f option is specified and there are more astringa operands than format specifiers, the format string is reprocessed from the beginning. If there are fewer astringa operands than format specifiers, then outputting will end at the first unneeded format specifier.][e?Unless -f is specified, process \ sequences in each astringa operand as described above. This is the default behavior.][n?Do not append a new-line character to the output.][f]:[format?Write the astringa arguments using the format string aformata and do not append a new-line. See printf for details on how to specify aformata.][p?Write to the current co-process instead of standard output.][r?Do not process \ sequences in each astringa operand as described above.][s?Write the output as an entry in the shell history file instead of standard output.][u]:[fd:=1?Write to file descriptor number afda instead of standard output.][v?Treat each astringa as a variable name and write the value in %B format. Cannot be used with -f.][C?Treat each astringa as a variable name and write the value in %#B format. Cannot be used with -f.] [string ...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?echo(1), printf(1), read(1)][-1c? @(#)$Id: printf (AT&T Research) 2009-02-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?printf - write formatted output][+DESCRIPTION?printf writes each astringa operand to standard output using aformata to control the output format.] [+?The aformata operands supports the full range of ANSI C formatting specifiers plus the following additional specifiers:]{[+%b?Each character in the astringa operand is processed specially as follows:]{[+\a?Alert character.][+?Backspace character.][+\c?Terminate output without appending newline. The remaining astringa operands are ignored.][+\f?Formfeed character.][+\n?Newline character.][+\t?Tab character.][+\v?Vertical tab character.][+\\?Backslash character.][+\E?Escape character (ASCII octal 033).][+\0axa?The 8-bit character whose ASCII code is the 1-, 2-, or 3-digit octal number axa.]}[+%q?Output astringa quoted in a manner that it can be read in by the shell to get back the same string. However, empty strings resulting from missing astringa operands will not be quoted.][+%B?Treat the argument as a variable name and output the value without converting it to a string. This is most useful for variables of type -b.][+%H?Output astringa with characters <, &, >, ", and non-printable characters properly escaped for use in HTML and XML documents.][+%P?Treat astringa as an extended regular expression and convert it to a shell pattern.][+%R?Treat astringa as an shell pattern expression and convert it to an extended regular expression.][+%T?Treat astringa as a date/time string and format it. The T can be preceded by (adformata), where adformata is a date format as defined by the date command.][+%Z?Output a byte whose value is 0.]}[+?When performing conversions of astringa to satisfy a numeric format specifier, if the first character of astringa is " or ', then the value will be the numeric value in the underlying code set of the character following the " or '. Otherwise, astringa is treated like a shell arithmetic expression and evaluated.][+?If a astringa operand cannot be completely converted into a value appropriate for that format specifier, an error will occur, but remaining astringa operands will continue to be processed.][+?In addition to the format specifier extensions, the following extensions of ANSI-C are permitted in format specifiers:]{[+-?The escape sequences \E and \e expand to the escape character which is octal 033 in ASCII.][+-?The escape sequence \caxa expands to Control-axa.][+-?The escape sequence \C[.anamea.]] expands to the collating element anamea.][+-?The escape sequence \x{ahexa} expands to the character corresponding to the hexidecimal value ahexa.][+-?The format modifier flag = can be used to center a field to a specified width.][+-?The format modifier flag L can be used with the c and s formats to treat precision as character width instead of byte count.][+-?Each of the integral format specifiers can have a third modifier after width and precision that specifies the base of the conversion from 2 to 64. In this case the # modifier will cause abasea# to be prepended to the value.][+-?The # modifier can be used with the d specifier when no base is specified cause the output to be written in units of 1000 with a suffix of one of k M G T P E.][+-?The # modifier can be used with the i specifier to cause the output to be written in units of 1024 with a suffix of one of Ki Mi Gi Ti Pi Ei.]}[+?If there are more astringa operands than format specifiers, the aformata string is reprocessed from the beginning. If there are fewer astringa operands than format specifiers, then string specifiers will be treated as if empty strings were supplied, numeric conversions will be treated as if 0 were supplied, and time conversions will be treated as if now were supplied.][+?printf is equivalent to print -f which allows additional options to be specified.] format [string ...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?date(1), print(1), read(1)][-1c? @(#)$Id: pwd (AT&T Research) 1999-06-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?pwd - write working directory name][+DESCRIPTION?pwd writes an absolute pathname of the current working directory to standard output. An absolute pathname is a pathname that begins with / that does not contains any . or .. components.][+?If both -L and -P are specified, the last one specified will be used. If neither -P or -L is specified then the behavior will be determined by the getconf parameter PATH_RESOLVE. If PATH_RESOLVE is physical, then the behavior will be as if -P were specified. Otherwise, the behavior will be as if -L were specified.][L?The absolute pathname may contains symbolic link components. This is the default.][P?The absolute pathname will not contain any symbolic link components.][+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?cd(1), getconf(1)][-1c? @(#)$Id: read (AT&T Research) 2006-12-19 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?read - read a line from standard input][+DESCRIPTION?read reads a line from standard input and breaks it into fields using the characters in value of the IFS variable as separators. The escape character, \, is used to remove any special meaning for the next character and for line continuation unless the -r option is specified.][+?If there are more variables than fields, the remaining variables are set to empty strings. If there are fewer variables than fields, the leftover fields and their intervening separators are assigned to the last variable. If no avara is specified then the variable REPLY is used.][+?When avara has the binary attribute and -n or -N is specified, the bytes that are read are stored directly into var.][+?If you specify ?aprompta after the first avara, then read will display aprompta on standard error when standard input is a terminal or pipe.][A?Unset avara and then create an indexed array containing each field in the line starting at index 0.][C?Unset avara and read avara as a compound variable.][d]:[delim?Read until delimiter adelima instead of to the end of line.][p?Read from the current co-process instead of standard input. An end of file causes read to disconnect the co-process so that another can be created.][r?Do not treat \ specially when processing the input line.][s?Save a copy of the input as an entry in the shell history file.][u]#[fd:=0?Read from file descriptor number afda instead of standard input.][t]:[timeout?Specify a timeout atimeouta in seconds when reading from a terminal or pipe.][n]#[nbyte?Read at most ansizea characters. For binary fields asizea will be in bytes.][N]#[nbyte?Read exactly ansizea characters. For binary fields asizea will be in bytes.][v?When reading from a terminal the value of the first variable is displayed and used as a default value.] [var?prompt] [var ...] [+EXIT STATUS?]{[+0? Successful completion.][+>0?End of file was detected or an error occurred.]}[+SEE ALSO?print(1), printf(1), cat(1)][-1c? @(#)$Id: readonly (AT&T Research) 2008-06-16 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?readonly - set readonly attribute on variables][+DESCRIPTION?readonly sets the readonly attribute on each of the variables specified by anamea which prevents their values from being changed. If =avaluea is specified, the variable anamea is set to avaluea before the variable is made readonly.][+?Within a type definition, if the value is not specified, then a value must be specified when creating each instance of the type and the value is readonly for each instance.][+?If no anameas are specified then the names and values of all readonly variables are written to standard output.][+?readonly is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on avaluea.][p?Causes the output to be in a form of readonly commands that can be used as input to the shell to recreate the current set of readonly variables.] [name[=value]...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?sh(1), typeset(1)][-1c? @(#)$Id: return (AT&T Research) 1999-07-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?return - return from a function or dot script ][+DESCRIPTION?return is a shell special built-in that causes the function or dot script that invokes it to exit. If return is invoked outside of a function or dot script it is equivalent to exit.][+?If return is invoked inside a function defined with the function reserved word syntax, then any EXIT trap set within the then function will be invoked in the context of the caller before the function returns.][+?If ana is given, it will be used to set the exit status.] [n] [+EXIT STATUS?If ana is specified, the exit status is the least significant eight bits of the value of ana. Otherwise, the exit status is the exit status of preceding command.][+SEE ALSO?break(1), exit(1)]+[-1c? @(#)$Id: sh (AT&T Research) 93t+ 2009-05-01 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? ? - Shell, the standard command language interpreter][+DESCRIPTION? ? is a command language interpreter that executes commands read from a command line string, the standard input, or a specified file.][+?If the -i option is present, or there are no aargas and the standard input and standard error are attached to a terminal, the shell is considered to be interactive.][+?The -s and -c options are mutually exclusive. If the -c option is specified, the first aarga is the command-line string and must be specified. Any remaining aargas will be used to initialize $0 and positional parameters.][+?If the neither -s nor -c is specified, then the first arg will be the pathname of the file containing commands and $0 will be set to this value. If there is no file with this pathname, and this pathame does not contain a /, then the PATH will be searched for an executable with this name. Any remaining aargas will be used to initialize the positional parmaeters.][+?Any option can use a + instead of a - to disable the corresponding option.][c?Read the commands from the first aarga.][i?Specifies that the shell is interactive.][l?Invoke the shell as a login shell; /etc/profile and $HOME/.profile, if they exist, are read before the first command.][r :restricted ?Invoke the shell in a restricted mode. A restricted shell does not permit any of the following:]{[+-?Changing the working directory.][+-?Setting values or attributes of the variables SHELL, ENV, FPATH, or PATH.][+-?Executing any command whose name as a / in it.][+-?Redirecting output of a command with >, >|, <>, or >>.][+-?Adding or deleting built-in commands or libraries with builtin.][+-?Executing command -p a...a .]}[s?Read the commands from standard input. The positional parameters will be initialized from aarga.][D :dump-strings ?Do not execute the script, but output the set of double quoted strings preceded by a $. These strings are needed for localization of the script to different locales.][E?Reads the file ${ENV-$HOME/.kshrc}, if it exists, as a profile. On by default for interactive shells; use +E to disable.][R]:[file?Do not execute the script, but create a cross reference database in afilea that can be used a separate shell script browser. The -R option requires a script to be specified as the first operand.] abc ?[T?Enable implementation specific test code defined by mask.]#[mask] [arg ...] [+EXIT STATUS?If ? executes command, the exit status will be that of the last command executed. Otherwise, it will be one of the following:]{[+0?The script or command line to be executed consists entirely of zero or more blank lines or comments.][+>1-125?A noninteractive shell detected a syntax error, a variable assignment error, or an error in a special built-in.][+126?-c and -s were not specified and the command script was found on PATH but was not executable.][+127?-c and -s were not specified and the command script corresponding to aarga could not be found.]}[+SEE ALSO?set(1), builtin(1)]+[-1c? @(#)$Id: set (AT&T Research) 1999-09-28 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?set - set/unset options and positional parameters][+DESCRIPTION?set sets or unsets options and positional parameters. Options that are specified with a - cause the options to be set. Options that are specified with a + cause the option to be unset.][+?set without any options or arguments displays the names and values of all shell variables in the order of the collation sequence in the current locale. The values are quoted so that they are suitable for reinput to the shell.][+?If no aargas are specified, not even the end of options argument --, the positional parameters are unchanged. Otherwise, unless the -A options has been specified, the positional parameters are replaced by the list of aargas. A first aarga of -- is ignored when setting positional parameters.][+?For backward compatibility, a set command without any options specified whose first aarga is - will turn off the -v and -x options. If any additional aargas are specified, they will replace the positional parameters.][s?Sort the positional parameters.][A]:[name?Assign the arguments sequentially to the array named by anamea starting at subscript 0 rather than to the positional parameters.] abc [06:default?Restore all non-command line options to the default settings.][07:state?List the current option state in the form of a set command that can be executed to restore the state.] [arg ...] [+EXIT STATUS?]{[+0?No errors occurred.][+>0?An error occurred.]}[+SEE ALSO?typeset(1), shift(1)][-1c? @(#)$Id: shift (AT&T Research) 1999-07-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?shift - shift positional parameters][+DESCRIPTION?shift is a shell special built-in that shifts the positional parameters to the left by the number of places defined by ana, or 1 if ana is omitted. The number of positional parameters remaining will be reduced by the number of places that are shifted.][+?If ana is given, it will be evaluated as an arithmetic expression to determinate the number of places to shift. It is an error to shift more than the number of positional parameters or a negative number of places.] [n] [+EXIT STATUS?]{[+0?The positional parameters were successfully shifted.][+>0?An error occurred.]}[+SEE ALSO?set(1)][-1c? @(#)$Id: sleep (AT&T Research) 2009-03-12 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?sleep - suspend execution for an interval][+DESCRIPTION?sleep suspends execution for at least the time specified by adurationa or until a SIGALRM signal is received. adurationa may be one of the following:]{[+integer?The number of seconds to sleep.][+floating point?The number of seconds to sleep. The actual granularity depends on the underlying system, normally around 1 millisecond.][+PanaYanaManaDTanaHanaManaS?An ISO 8601 duration where at least one of the duration parts must be specified.][+PanaW?An ISO 8601 duration specifying ana weeks.][+panaYanaManaDTanaHanamanaS?A case insensitive ISO 8601 duration except that M specifies months, m before s or S specifies minutes and after specifies milliseconds, u or U specifies microseconds, and n specifies nanoseconds.][+date/time?Sleep until the date(1) compatible date/time.]}[s?Sleep until a signal or a timeout is received. If adurationa is omitted or 0 then no timeout will be used.] [ duration ] [+EXIT STATUS?]{[+0?The execution was successfully suspended for at least adurationa or a SIGALRM signal was received.][+>0?An error occurred.]}[+SEE ALSO?date(1), time(1), wait(1)][-1c? @(#)$Id: trap (AT&T Research) 1999-07-17 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?trap - trap signals and conditions][+DESCRIPTION?trap is a special built-in that defines actions to be taken when conditions such as receiving a signal occur. Also, trap can be used to display the current trap settings on standard output.][+?If aactiona is -, trap resets each aconditiona to the default value. If aactiona is an empty string, the shell ignores each of the aconditionas if they arise. Otherwise, the argument aactiona will be read and executed by the shell as if it were processed by eval(1) when one of the corresponding conditions arise. The action of the trap will override any previous action associated with each specified aconditiona. The value of $? is not altered by the trap execution.][+?aconditiona can be the name or number of a signal, or one of the following:]{[+EXIT?This trap is executed when the shell exits. If defined within a function defined with the function reserved word, the trap is executed in the caller's environment when the function returns and the trap action is restored to the value it had when it called the function.][+0?Same as EXIT.][+DEBUG?Executed before each simple command is executed but after the arguments are expanded.][+ERR?Executed whenever set -e would cause the shell to exit.][+KEYBD?Executed when a key is entered from a terminal device.]}[+?Signal names are case insensitive and the sig prefix is optional. Signals that were ignored on entry to a noninteractive shell cannot trapped or reset although doing so will not report an error. The use of signal numbers other than 1, 2, 3, 6, 9, 14, and 15 is not portable.][+?Although trap is a special built-in, specifying a condition that the shell does not know about causes trap to exit with a non-zero exit status, but does not terminate the invoking shell.][+?If no aactiona or aconditionas are specified then all the current trap settings are written to standard output.][p?Causes the current traps to be output in a format that can be processed as input to the shell to recreate the current traps.] [action condition ...] [+EXIT STATUS?]{[+0?Successful completion.][+>0?An error occurred.]}[+SEE ALSO?kill(1), eval(1), signal(3)]+[-1c? @(#)$Id: typeset (AT&T Research) 2008-08-04 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? ? - declare or display variables with attributes][+DESCRIPTION?Without the -f option, ? sets, unsets, or displays attributes of variables as specified with the options. If the first option is specified with a - then the attributes are set for each of the given anameas. If the first option is specified with a +, then the specified attributes are unset. If =avaluea is specified value is assigned before the attributes are set.][+?When ? is called inside a function defined with the function reserved word, and anamea does not contain a ., then a local variable statically scoped to that function will be created.][+?Not all option combinations are possible. For example, the numeric options -i, -E, and -F cannot be specified with the justification options -L, -R, and -Z.][+?Note that the following preset aliases are set by the shell:]{[+float? ? -E.][+functions? ? -f.][+integer? ? -i.][+nameref? ? -n.]}[+?If no anameas are specified then variables that have the specified options are displayed. If the first option is specified with a leading - then the name and value of each variable is written to standard output. Otherwise, only the names are written. If no options are specified or just -p is specified, then the names and attributes of all variables that have attributes are written to standard output. When -f is specified, the names displayed will be function names.][+?If -f is specified, then each anamea refers to a function and the only valid options are -u and -t. In this case no =avaluea can be specified.][+? ? is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on avaluea.][a]:?[type?Indexed array. This is the default. If [atypea]] is specified, each subscript is interpreted as a value of type atypea.][b?Each anamea may contain binary data. Its value is the mime base64 encoding of the data. It can be used with -Z, to specify fixed sized fields.][f?Each of the options and anameas refers to a function.][i]#?[base:=10?An integer. abasea represents the arithmetic base from 2 to 64.][l?Convert uppercase character to lowercase. Unsets -u attribute. When used with -i, -E, or -F indicates long variant.][m?Move. The value is the name of a variable whose value will be moved to anamea. The orignal variable will be unset. Cannot be used with any other options.][n?Name reference. The value is the name of a variable that anamea references. anamea cannot contain a .. Cannot be use with any other options.][p?Causes the output to be in a format that can be used as input to the shell to recreate the attributes for variables.][r?Enables readonly. Once enabled it cannot be disabled. See readonly(1).][s?Used with -i to restrict integer size to short.][t?When used with -f, enables tracing for each of the specified functions. Otherwise, -t is a user defined attribute and has no meaning to the shell.][u?Without -f or -i, converts lowercase character to uppercase and unsets -l. With -f specifies that anamea is a function that hasn't been loaded yet. With -i specifies that the value will be displayed as an unsigned integer.][x?Puts each anamea on the export list. See export(1). anamea cannot contain a ..][A?Associative array. Each anamea will converted to an associate array. If a variable already exists, the current value will become index 0.][C?Compound variable. Each anamea will be a compound variable. If avaluea names a compound variable it will be copied to anamea. Otherwise if the variable already exists, it will first be unset.][E]#?[n:=10?Floating point number represented in scientific notation. ana specifies the number of significant figures when the value is expanded.][F]#?[n:=10?Floating point. ana is the number of places after the decimal point when the value is expanded.][H?Hostname mapping. Each anamea holds a native pathname. Assigning a UNIX format pathname will cause it to be converted to a pathname suitable for the current host. This has no effect when the native system is UNIX.][L]#?[n?Left justify. If ana is given it represents the field width. If the -Z attribute is also specified, then leading zeros are stripped.][R]#?[n?Right justify. If ana is given it represents the field width. If the -Z attribute is also specified, then zeros will be used as the fill character. Otherwise, spaces are used.][X]#?[n:=10?Floating point number represented in hexadecimal notation. ana specifies the number of significant figures when the value is expanded.][h]:[string?Used within a type definition to provide a help string for variable anamea. Otherwise, it is ignored.][S?Used with a type definition to indicate that the variable is shared by each instance of the type. When used inside a function defined with the function reserved word, the specified variables will have function static scope. Otherwise, the variable is unset prior to processing the assignment list.][T]:[tname?atnamea is the name of a type name given to each anamea.][Z]#?[n?Zero fill. If ana is given it represents the field width.] [name[=value]...] -f [name...] [+EXIT STATUS?]{[+0?No errors occurred.][+>0?An error occurred.]}[+SEE ALSO?readonly(1), export(1)][-1c?@(#)$Id: ulimit (AT&T Research) 2003-06-21 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?ulimit - set or display resource limits][+DESCRIPTION?ulimit sets or displays resource limits. These limits apply to the current process and to each child process created after the resource limit has been set. If alimita is specified, the resource limit is set, otherwise, its current value is displayed on standard output.][+?Increasing the limit for a resource usually requires special privileges. Some systems allow you to lower resource limits and later increase them. These are called soft limits. Once a hard limit is set the resource can not be increased.][+?Different systems allow you to specify different resources and some restrict how much you can raise the limit of the resource.][+?The value of alimita depends on the unit of the resource listed for each resource. In addition, alimita can be unlimited to indicate no limit for that resource.][+?If you do not specify -H or -S, then -S is used for listing and both -S and -H are used for setting resources.][+?If you do not specify any resource, the default is -f.][H?A hard limit is set or displayed.][S?A soft limit is set or displayed.][a?Displays all current resource limits] limits [limit] [+EXIT STATUS?]{[+0?Successful completion.][+>0?A request for a higher limit was rejected or an error occurred.]}[+SEE ALSO?ulimit(2), getrlimit(2)][-1c? @(#)$Id: umask (AT&T Research) 1999-04-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?umask - get or set the file creation mask][+DESCRIPTION?umask sets the file creation mask of the current shell execution environment to the value specified by the amaska operand. This mask affects the file permission bits of subsequently created files. amaska can either be an octal number or a symbolic value as described in chmod(1). If a symbolic value is given, the new file creation mask is the complement of the result of applying amaska to the complement of the current file creation mask.][+?If amaska is not specified, umask writes the value of the file creation mask for the current process to standard output.][S?Causes the file creation mask to be written or treated as a symbolic value rather than an octal number.] [mask] [+EXIT STATUS?]{[+0?The file creation mask was successfully changed, or no amaska operand was supplied.][+>0?An error occurred.]}[+SEE ALSO?chmod(1)] [name][-1c? @(#)$Id: unset (AT&T Research) 1999-07-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?unset - unset values and attributes of variables and functions][+DESCRIPTION?For each anamea specified, unset unsets the variable, or function if -f is specified, from the current shell execution environment. Readonly variables cannot be unset.][n?If anamea refers to variable that is a reference, the variable anamea will be unset rather than the variable it references. Otherwise, is is equivalent to -v.][f?anamea refers to a function name and the shell will unset the function definition.][v?anamea refers to a variable name and the shell will unset it and remove it from the environment. This is the default behavior.] name... [+EXIT STATUS?]{[+0?All anameas were successfully unset.][+>0?One or more anamea operands could not be unset or an error occurred.]}[+SEE ALSO?typeset(1)][-1c? @(#)$Id: unalias (AT&T Research) 1999-07-07 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?unset - unset values and attributes of variables and functions][+NAME?unalias - remove alias definitions][+DESCRIPTION?unalias removes the definition of each named alias from the current shell execution environment, or all aliases if -a is specified. It will not affect any commands that have already been read and subsequently executed.][a?Causes all alias definitions to be removed. anamea operands are optional and ignored in this case.] name... [+EXIT STATUS?]{[+0?Successful completion.][+>0?-a was not specified and one or more anamea operands did not have an alias definition, or an error occurred.]}[+SEE ALSO?alias(1)][-1c? @(#)$Id: wait (AT&T Research) 1999-06-17 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?wait - wait for process or job completion][+DESCRIPTION?wait with no operands, waits until all jobs known to the invoking shell have terminated. If one or more ajoba operands are specified, wait waits until all of them have completed.][+?Each ajoba can be specified as one of the following:]{[+anumbera?anumbera refers to a process id.][+-anumbera?anumbera refers to a process group id.][+%anumbera?anumbera refer to a job number.][+%astringa?Refers to a job whose name begins with astringa.][+%??astringa?Refers to a job whose name contains astringa.][+%+ or %%?Refers to the current job.][+%-?Refers to the previous job.]}[+?If one ore more ajoba operands is a process id or process group id not known by the current shell environment, wait treats each of them as if it were a process that exited with status 127.] [job ...] [+EXIT STATUS?If awaita is invoked with one or more ajobas, and all of them have terminated or were not known by the invoking shell, the exit status of wait will be that of the last ajoba. Otherwise, it will be one of the following:]{[+0?wait utility was invoked with no operands and all processes known by the invoking process have terminated.][+127?ajoba is a process id or process group id that is unknown to the current shell environment.]}[+SEE ALSO?jobs(1), ps(1)] [top] [base] [dir] [list][-1c? @(#)$Id: whence (AT&T Research) 2007-04-24 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?whence - locate a command and describe its type][+DESCRIPTION?Without -v, whence writes on standard output an absolute pathname, if any, corresponding to anamea based on the complete search order that the shell uses. If anamea is not found, then no output is produced.][+?If -v is specified, the output will also contain information that indicates how the given anamea would be interpreted by the shell in the current execution environment.][a?Displays all uses for each anamea rather than the first.][f?Do not check for functions.][p?Do not check to see if anamea is a reserved word, a built-in, an alias, or a function. This turns off the -v option.][q?Quiet mode. Returns 0 if all arguments are built-ins, functions, or are programs found on the path.][v?For each name you specify, the shell displays a line that indicates if that name is one of the following:]{[+?Reserved word][+?Alias][+?Built-in][+?Undefined function][+?Function][+?Tracked alias][+?Program]} name ... [+EXIT STATUS?]{[+0?Each anamea was found by the shell.][+1?One or more anameas were not found by the shell.][+>1?An error occurred.]}[+SEE ALSO?command(1)][-1c? @(#)$Id: test (AT&T Research) 2003-03-18 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME?test - evaluate expression][+DESCRIPTION?test evaluates expressions and indicates its results based on the exit status. Option parsing is not performed so that all arguments, including -- are processed as operands. The evaluation of the expression depends on the number of operands as follows:]{[+0?Evaluates to false.][+1?True if argument is not an empty string.][+2?If first operand is !, the result is True if the second operand an empty string. Otherwise, it is evaluated as one of the unary expressions defined below. If the unary operator is invalid and the second argument is --,then the first argument is processed as an option argument.][+3?If first operand is !, the result is True if the second and third operand evaluated as a unary expression is False. Otherwise, the three operands are evaluaged as one of the binary expressions listed below.][+4?If first operand is !, the result is True if the next three operands are a valid binary expression that is False.]}[If any afilea is of the form /dev/fd/ana, then file descriptor ana is checked.][+?Unary expressions can be one of the following:]{[+-a afilea?True if afilea exists, obsolete.][+-b afilea?True if afilea exists and is a block special file.][+-c afilea?True if afilea exists and is a character special file.][+-d afilea?True if afilea exists and is a directory.][+-e afilea?True if afilea exists.][+-f afilea?True if afilea exists and is a regular file.][+-g afilea?True if afilea exists and has its set-group-id bit set.][+-h afilea?True if afilea exists and is a symbolic link.][+-k afilea?True if afilea exists and has its sticky bit on.][+-n astringa?True if length of astringa is non-zero.][+-o aoptiona?True if the shell option aoptiona is enabled.][+-p afilea?True if afilea exists and is a pipe or fifo.][+-r afilea?True if afilea exists and is readable.][+-s afilea?True if afilea exists and has size > 0.][+-t afildesa?True if file descriptor number afildesa is open and is associated with a terminal device.][+-u afilea?True if afilea exists and has its set-user-id bit set.][+-v avarnamea?True if avarnamea is a valid variable name that is set.][+-w afilea?True if afilea exists and is writable.][+-x afilea?True if afilea exists and is executable. For a directory it means that it can be searched.][+-z astringa?True if astringa is a zero length string.][+-G afilea?True if afilea exists and group is the effective group id of the current process.][+-L afilea?True if afilea exists and is a symbolic link.][+-N afilea?True if afilea exists and has been modified since it was last read.][+-O afilea?True if afilea exists and owner is the effective user id of the current process.][+-R avarnamea?True if avarnamea is a name reference.][+-S afilea?True if afilea exists and is a socket.]}[+?Binary expressions can be one of the following:]{[+astring1a = astring2a?True if astring1a is equal to astring2a.][+astring1a == astring2a?True if astring1a is equal to astring2a.][+astring1a != astring2a?True if astring1a is not equal to astring2a.][+anum1a -eq anum2a?True if numerical value of anum1a is equal to anum2a.][+anum1a -ne anum2a?True if numerical value of anum1a is not equal to anum2a.][+anum1a -lt anum2a?True if numerical value of anum1a is less than anum2a.][+anum1a -le anum2a?True if numerical value of anum1a is less than or equal to anum2a.][+anum1a -gt anum2a?True if numerical value of anum1a is greater than anum2a.][+anum1a -ge anum2a?True if numerical value of anum1a is greater than or equal to anum2a.][+afile1a -nt afile2a?True if afile1a is newer than afile2a or afile2a does not exist.][+afile1a -ot afile2a?True if afile1a is older than afile2a or afile2a does not exist.][+afile1a -ef afile2a?True if afile1a is another name for afile2a. This will be true if afile1a is a hard link or a symbolic link to afile2a.]} [expression] [+EXIT STATUS?]{[+0?Indicates that the specified expression is True.][+1?Indicates that the specified expression is False.][+>1?An error occurred.][+SEE ALSO?let(1), expr(1)]dump failed. I/O error. [-1cn?@(#)$Id: hist (AT&T Research) 2000-04-02 $ ][-author?David Korn ][-copyright?Copyright (c) 1982-2009 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libshell][+NAME? ? - process command history list][+DESCRIPTION? ? lists, edits, or re-executes, commands previously entered into the current shell environment.][+?The command history list references commands by number. The first number in the list is selected arbitrarily. The relationship of a number to its command does not change during a login session. When the number reaches 32767 the number wraps around to 1 but maintains the ordering.][+?When commands are edited (when the -l option is not specified), the resulting lines will be entered at the end of the history list and then reexecuted by the current shell. The ? command that caused the editing will not be entered into the history list. If the editor returns a non-zero exit status, this will suppress the entry into the history list and the command reexecution. Command line variable assignments and redirections affect both the ? command and the commands that are reexecuted.][+?afirsta and alasta define the range of commands. afirsta and alasta can be one of the following:]{[+anumbera?A positive number representing a command number. A + sign can precede anumbera.][+-anumbera?A negative number representing a command that was executed anumbera commands previously. For example, -1 is the previous command.][+astringa?astringa indicates the most recently entered command that begins with astringa. astringa should not contain an =.]}[+?If afirsta is omitted, the previous command is used, unless -l is specified, in which case it will default to -16 and alasta will default to -1.][+?If afirsta is specified and alasta is omitted, then alasta will default to afirsta unless -l is specified in which case it will default to -1.][+?If no editor is specified, then the editor specfied by the HISTEDIT variable will be used if set, or the FCEDIT variable will be used if set, otherwise, ed will be used.][e]:[editor?aeditora specifies the editor to use to edit the history command. A value of - for aeditora is equivalent to specifiying the -s option.][l?List the commands rather than editing and reexecuting them.][t?Lists the commands along with their time of execution.][N]#[num?Start at anuma commands back.][n?Suppress the command numbers when the commands are listed.][p?Writes the result of history expansion for each operand to standard output. All other options are ignored.][r?Reverse the order of the commands.][s?Reexecute the command without invoking an editor. In this case an operand of the form aolda=anewa can be specified to change the first occurrence of the string aolda in the command to anewa before reexecuting the command.] [first [last] ] [+EXIT STATUS?If a command is reexecuted, the exit status is that of the command that gets reexecuted. Otherwise, it is one of the following:]{[+0?Successfully completion of the listing.][+>0?An error occurred.]}[+SEE ALSO?ksh(1), sh(1), ed(1)]