Annotation of coherent/a/usr/man/COHERENT/sh, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: sh                           Command                           sh
                      4: 
                      5: 
                      6: 
                      7: 
                      8: Command language interpreter
                      9: 
                     10: sshh [-cceeiikknnssttuuvvxx] _t_o_k_e_n ...
                     11: 
                     12: sh, also  called the shell, is the  default COHERENT command lan-
                     13: guage interpreter.  Other  command languages can be provided on a
                     14: per-user basis.   The tutorial included in  this manual describes
                     15: the shell in detail.
                     16: 
                     17: The shell reads commands from the terminal or from a file and in-
                     18: terprets them.  A command may be  either a program or a text file
                     19: containing other commands.  Shell constructs provide control flow
                     20: logic.  Commands  can contain  patterns, which the  shell expands
                     21: into file names.  The shell can redirect input and output.
                     22: 
                     23: ***** Commands *****
                     24: 
                     25: A command  consists of  a command  name and optional  command ar-
                     26: guments, called  tokens.  A token is a  string of graphic charac-
                     27: ters separated by spaces or tabs.  Normally, the first token in a
                     28: command is the command name.
                     29: 
                     30: Commands  are  combined  with  the  pipe  operator  `|'  to  form
                     31: pipelines.  In the pipeline
                     32: 
                     33: 
                     34:         a | b
                     35: 
                     36: 
                     37: the shell  passes the standard output of a  to the standard input
                     38: of b.  The shell runs each  command in the pipeline as a separate
                     39: process, and  waits for  the last  command to finish  before con-
                     40: tinuing.
                     41: 
                     42: Commands and pipelines can be joined into a sequence by using the
                     43: tokens `;',  `&', `&&', and  `||', in addition  to newlines.  The
                     44: shell executes commands  or pipelines separated by newlines or by
                     45: `;' sequentially.  For example,
                     46: 
                     47: 
                     48:         a | b ; c | d
                     49: 
                     50: 
                     51: first executes the pipeline a  | b and then executes the pipeline
                     52: c  |  d.   The   shell  executes  any  command  followed  by  `&'
                     53: asynchronously as  a background (or detached)  process and prints
                     54: its  process id.   The shell executes  the command  following the
                     55: token  `&&' only  if the  preceding command  returns a  zero exit
                     56: status, signifying  success.  Similarly, it  executes the command
                     57: following `||'  only if the  preceding command returns  a nonzero
                     58: exit status, signifying  failure.  Newline, `;' and `&' bind less
                     59: tightly than  `&&' and `||'; the shell  parses command lines from
                     60: left to right if separators bind equally.
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 
                     67: 
                     68: 
                     69: sh                           Command                           sh
                     70: 
                     71: 
                     72: 
                     73: ***** I/O Redirection *****
                     74: 
                     75: The standard  input, standard output, and  standard error streams
                     76: are normally connected  to the terminal.  A pipeline attaches the
                     77: output of one command to  the input of another command.  In addi-
                     78: tion, the  operators `>', `>>', `<', and  `<<' redirect the stan-
                     79: dard output and the standard input.
                     80: 
                     81: Output redirection  sends standard output to  file rather than to
                     82: the terminal:
                     83: 
                     84: 
                     85:         >file
                     86: 
                     87: 
                     88: creates file if it does not exist, and destroys its previous con-
                     89: tents if it does exist.  The operator
                     90: 
                     91: 
                     92:         >>file
                     93: 
                     94: 
                     95: appends standard  output to an existing file,  or creates file if
                     96: it does not exist.
                     97: 
                     98: In input redirection,
                     99: 
                    100: 
                    101:         <file
                    102: 
                    103: 
                    104: accepts standard  input from file rather  than from the terminal.
                    105: The input redirection operator
                    106: 
                    107: 
                    108:         <<token
                    109: 
                    110: 
                    111: accepts standard  input from the shell input  until the next line
                    112: containing only  token in the  shell input.  The  shell input be-
                    113: tween tokens  is called a here document.   The shell will perform
                    114: parameter substitution  on the  here document unless  the leading
                    115: token is quoted; parameter substitution and quoting are described
                    116: below.
                    117: 
                    118: The standard input and output may also be redirected to duplicate
                    119: other file descriptors.   The operator `<&_n' duplicates the stan-
                    120: dard input from file descriptor n, and `>&_n' duplicates the stan-
                    121: dard output.   The operators `<&-'  and `>&-' close  the standard
                    122: input and output.
                    123: 
                    124: Other descriptors  may be redirected by preceding  the `<' or `>'
                    125: with the digit of the descriptor to be redirected.  For example,
                    126: 
                    127: 
                    128: 
                    129: 
                    130: COHERENT Lexicon                                           Page 2
                    131: 
                    132: 
                    133: 
                    134: 
                    135: sh                           Command                           sh
                    136: 
                    137: 
                    138: 
                    139: 
                    140:         2>&1
                    141: 
                    142: 
                    143: redirects file descriptor 2 (the standard error) to file descrip-
                    144: tor 1  (the standard output).  The system  call dup performs file
                    145: descriptor duplication.
                    146: 
                    147: Each command  executed as a foreground  process inherits the file
                    148: descriptors and  signal traps  (described below) of  the invoking
                    149: shell, modified by any specified redirection.  Background proces-
                    150: ses take input from the null device /dev/null (unless redirected)
                    151: and ignore interrupt and quit signals.
                    152: 
                    153: ***** File Name Patterns *****
                    154: 
                    155: The shell interprets an input token containing any of the special
                    156: characters `?', `*', or `[' as a file name pattern.  The question
                    157: mark `?'  matches any single  character except newline.   The as-
                    158: terisk  `*' matches  a string  of  non-newline characters  of any
                    159: length (including  zero).  Square  brackets `[ ]'  enclose alter-
                    160: natives to match a single  character; as in ed, ranges of charac-
                    161: ters can  be separated by `-'.  The slash  `/' and leading period
                    162: `.' must be matched explicitly in a pattern.  The shell generates
                    163: an  alphabetized  list  of file  names  matching  the pattern  to
                    164: replace the token.  It passes  the token unchanged if it finds no
                    165: match.
                    166: 
                    167: In addition, the characters  `\', `"', and `'' remove the special
                    168: meaning  of  other  characters.   The  backslash `\'  quotes  the
                    169: following character.   The shell ignores  a backslash immediately
                    170: followed by  a newline,  called a  concealed newline.  A  pair of
                    171: apostrophes ' '  prevents interpretation of  any enclosed special
                    172: characters.  A  pair of quotation marks " "  has the same effect,
                    173: except that  parameter substitution and  command output substitu-
                    174: tion (described below) occur within quotation marks.
                    175: 
                    176: ***** Scripts *****
                    177: 
                    178: Shell commands can be stored in a file, or script.  The command
                    179: 
                    180: 
                    181:         sh _s_c_r_i_p_t [ _p_a_r_a_m_e_t_e_r ... ]
                    182: 
                    183: 
                    184: executes the  commands in  script with  a new subshell  sh.  Each
                    185: parameter  is a  value for a  positional parameter,  as described
                    186: below.  If  script has been  made executable with  the chmod com-
                    187: mand, the sh may be omitted.
                    188: 
                    189: Formal  parameters of  the form  `$_n', where  n ranges  from zero
                    190: through nine,  represent positional parameters in  a script.  The
                    191: parameter `$0' gives the name of the script.  If no corresponding
                    192: actual parameter  is given  on the  command line, the  shell sub-
                    193: stitutes the null string for the positional parameter.  The shell
                    194: 
                    195: 
                    196: COHERENT Lexicon                                           Page 3
                    197: 
                    198: 
                    199: 
                    200: 
                    201: sh                           Command                           sh
                    202: 
                    203: 
                    204: 
                    205: substitutes the  actual values  of all positional  parameters for
                    206: the reference `$*'.
                    207: 
                    208: Commands in a  script can also be executed with  the . (dot) com-
                    209: mand.  It  resembles the  sh command,  but the current  shell ex-
                    210: ecutes the  script commands without creating a  new subshell or a
                    211: new environment; positional parameters are not allowed.
                    212: 
                    213: ***** Variables *****
                    214: 
                    215: Shell variables are names  which may be assigned string values on
                    216: a command line, in the form
                    217: 
                    218: 
                    219:         _n_a_m_e=_v_a_l_u_e
                    220: 
                    221: 
                    222: The  name must  begin  with a  letter, and  may contain  letters,
                    223: digits,  and  underscores   `_'.   In  shell  input,  `$_n_a_m_e'  or
                    224: `${_n_a_m_e}' represents the value of the variable.  If an assignment
                    225: precedes a  command on the  same command line, the  effect of the
                    226: assignment is local to the command; otherwise, the effect is per-
                    227: manent.  For example,
                    228: 
                    229: 
                    230:         kp=one testproc
                    231: 
                    232: 
                    233: assigns variable  kp the value one only for  the execution of the
                    234: script testproc.
                    235: 
                    236: The shell sets the following variables:
                    237: 
                    238: #  The  number of actual positional parameters  given to the cur-
                    239:    rent command.
                    240: 
                    241: @  The list of positional parameters ``$1 $2 ...''.
                    242: 
                    243: *  The list of positional parameters ``$1'' ``$2'' ...  (the same
                    244:    as `$@' unless quoted).
                    245: 
                    246: -  Options set in the invocation  of the shell or by the set com-
                    247:    mand.
                    248: 
                    249: ?  The exit status returned by the last command.
                    250: 
                    251: !  The process number of the last command invoked with `&'.
                    252: 
                    253: $  The process number of the current shell.
                    254: 
                    255: The shell also references the following variables:
                    256: 
                    257: HHOOMMEE     Initial working  directory;  usually  specified  in  the
                    258:         password file /etc/passwd.
                    259: 
                    260: 
                    261: 
                    262: COHERENT Lexicon                                           Page 4
                    263: 
                    264: 
                    265: 
                    266: 
                    267: sh                           Command                           sh
                    268: 
                    269: 
                    270: 
                    271: IIFFSS     Delimiters for tokens; usually space, tab and newline.
                    272: 
                    273: LLAASSTTEERRRROORR
                    274:         Name of last command returning nonzero exit status.
                    275: 
                    276: MMAAIILL    Checked at the end of each command.  If file specified in
                    277:         this variable is new since last command, the shell prints
                    278:         ``You have mail.'' on the user's terminal.
                    279: 
                    280: PPAATTHH    Colon-separated  list  of directories  searched for  com-
                    281:         mands.
                    282: 
                    283: PPSS11     First prompt string, usually `$'.
                    284: 
                    285: PPSS22     Second prompt  string, usually `>'.  Used  when the shell
                    286:         expects more input, such  as when an open  quote has been
                    287:         typed but a close  quote has not been  typed, or within a
                    288:         shell construct.
                    289: 
                    290: The special forms `${_n_a_m_e_c_t_o_k_e_n}',  where c is one of the charac-
                    291: ters `-',  `=', `+', or  `?', perform conditional  parameter sub-
                    292: stitution.  The  shell replaces  the form `${_n_a_m_e-_t_o_k_e_n}'  by the
                    293: value of name if it is  set and by token otherwise.  The `=' form
                    294: has the same effect, but also  sets the value of name to token if
                    295: it was  not set previously.   The shell replaces the  `+' form by
                    296: token if the given name is  set.  The shell replaces the `?' form
                    297: by the value of name if set, and otherwise prints token and exits
                    298: from the shell.
                    299: 
                    300: ***** Command Output Substitution *****
                    301: 
                    302: The shell can use the output of a command as shell input (as com-
                    303: mand arguments,  for example) by  enclosing the command  in grave
                    304: characters ` `.   To list directories  given in a  file dirs, use
                    305: the command
                    306: 
                    307: 
                    308:         ls -l `cat dirs`
                    309: 
                    310: 
                    311: ***** Constructs *****
                    312: 
                    313: The  shell provides  control over  execution  of commands  by the
                    314: bbrreeaakk, ccaassee, ccoonnttiinnuuee, ffoorr, iiff, uunnttiill, and wwhhiillee constructs.  The
                    315: shell recognizes each reserved word only if it occurs unquoted as
                    316: the first token of a command.  This implies that a separator must
                    317: precede each reserved  word in the following constructs.  For ex-
                    318: ample, newline or `;' must precede do in the for construct.
                    319: 
                    320: bbrreeaakk [_n]
                    321:      Exit from for, until, or while.   If n is given, exit from n
                    322:      levels.
                    323: 
                    324: ccaassee _t_o_k_e_n iinn [ _p_a_t_t_e_r_n [ | _p_a_t_t_e_r_n ] ...) _s_e_q_u_e_n_c_e;; ] ... eessaacc
                    325:      Check the  token against each  pattern, and execute  the se-
                    326: 
                    327: 
                    328: COHERENT Lexicon                                           Page 5
                    329: 
                    330: 
                    331: 
                    332: 
                    333: sh                           Command                           sh
                    334: 
                    335: 
                    336: 
                    337:      quence associated with the first matching pattern.
                    338: 
                    339: ccoonnttiinnuuee [_n]
                    340:      Branch to the end of  the nth enclosing for, until, or while
                    341:      construct.
                    342: 
                    343: ffoorr _n_a_m_e [ iinn _t_o_k_e_n ... ] ddoo _s_e_q_u_e_n_c_e ddoonnee
                    344:      Execute sequence once for each member of the specified token
                    345:      list.  On  each iteration, the  name takes the  value of the
                    346:      next token in the list.  If  the in clause is omitted, $@ is
                    347:      assumed.  For example, to list all files ending with .c:
                    348: 
                    349:              for i in *.c
                    350:              do cat $i
                    351:              done
                    352: 
                    353: 
                    354: iiff _s_e_q_1 tthheenn _s_e_q_2 [ eelliiff _s_e_q_3 tthheenn _s_e_q_4 ] ... [ eellssee _s_e_q_5 ] ffii
                    355:      Execute seq1.  If the exit status is zero, execute seq2.  If
                    356:      not, execute the optional seq3 if given.  If its exit status
                    357:      is zero, execute seq4 and so on.  If the exit status of each
                    358:      tested sequence is nonzero, execute seq5.
                    359: 
                    360: uunnttiill _s_e_q_u_e_n_c_e_1 [ ddoo _s_e_q_u_e_n_c_e_2 ] ddoonnee
                    361:      Execute sequence2  until the execution  of sequence1 results
                    362:      in an exit status of zero.
                    363: 
                    364: wwhhiillee _s_e_q_u_e_n_c_e_1 [ ddoo _s_e_q_u_e_n_c_e_2 ] ddoonnee
                    365:      Execute  sequence2 as  long  as the  execution of  sequence1
                    366:      results in an exit status of zero.
                    367: 
                    368: (_s_e_q_u_e_n_c_e)
                    369:      Execute the sequence within a subshell.  This allows the se-
                    370:      quence to change the current directory, for example, and not
                    371:      affect the enclosing environment.
                    372: 
                    373: {_s_e_q_u_e_n_c_e}
                    374:      Braces simply enclose a sequence.
                    375: 
                    376: ***** Special Commands *****
                    377: 
                    378: The shell usually executes  commands by a fork system call, which
                    379: creates another  process.  However,  the shell executes  the com-
                    380: mands  in this  section either  directly or  with an  exec system
                    381: call.  The Lexicon describes fork and exec.
                    382: 
                    383: . _s_c_r_i_p_t
                    384:      Read   and  execute   commands   from  script.    Positional
                    385:      parameters are not allowed.  The shell searches PATH to find
                    386:      the given script.
                    387: 
                    388: : [_t_o_k_e_n ...]
                    389:      A colon `:' indicates a ``partial comment''.  The shell nor-
                    390:      mally  ignores all  commands on  a line  that begins  with a
                    391:      colon, except  for redirection and such symbols  as $, {, ?,
                    392: 
                    393: 
                    394: COHERENT Lexicon                                           Page 6
                    395: 
                    396: 
                    397: 
                    398: 
                    399: sh                           Command                           sh
                    400: 
                    401: 
                    402: 
                    403:      etc.
                    404: 
                    405: #    A complete  comment: if # is the first  character on a line,
                    406:      the shell ignores all text that follows on that line.
                    407: 
                    408: ccdd [_d_i_r]
                    409:      Change  the working  directory to  dir.   If no  argument is
                    410:      given, change to the home directory.
                    411: 
                    412: eevvaall [_t_o_k_e_n ...]
                    413:      Evaluate each token and treat the result as shell input.
                    414: 
                    415: eexxeecc [_c_o_m_m_a_n_d]
                    416:      Execute command directly  rather than performing fork.  This
                    417:      terminates the current shell.
                    418: 
                    419: eexxiitt [_s_t_a_t_u_s]
                    420:      Set the exit status to status, if given; otherwise, the pre-
                    421:      vious status is unchanged.  If the shell is not interactive,
                    422:      terminate it.
                    423: 
                    424: eexxppoorrtt [_n_a_m_e ...]
                    425:      The shell executes  each command in an environment, which is
                    426:      essentially a set  of shell variable names and corresponding
                    427:      string values.   The shell inherits an  environment when in-
                    428:      voked, and  normally it passes the  same environment to each
                    429:      command it invokes.   export specifies that the shell should
                    430:      pass the  modified value of each given  name to the environ-
                    431:      ment  of subsequent  commands.  When no  name is  given, the
                    432:      shell prints the name  and value of each variable marked for
                    433:      export.
                    434: 
                    435: rreeaadd _n_a_m_e ...
                    436:      Read a line from the standard input and assign each token of
                    437:      the input to  the corresponding shell variable name.  If the
                    438:      input contains  fewer tokens than the  name list, assign the
                    439:      null string to  extra variables.  If the input contains more
                    440:      tokens, assign the last name the remainder of the input.
                    441: 
                    442: rreeaaddoonnllyy [_n_a_m_e ...]
                    443:      Mark each shell variable name as a read only variable.  Sub-
                    444:      sequent assignments to  read only variables will not be per-
                    445:      mitted.  With no arguments, print the name and value of each
                    446:      read only variable.
                    447: 
                    448: sseett [-cceeiikknnssttuuvvxx [_n_a_m_e ...] ]
                    449:      Set  listed  flag.   If name  list  is  provided, set  shell
                    450:      variables name to  values of positional parameters beginning
                    451:      with $1.
                    452: 
                    453: sshhiifftt
                    454:      Rename positional parameter 1 to current value of $2, and so
                    455:      on.
                    456: 
                    457: 
                    458: 
                    459: 
                    460: COHERENT Lexicon                                           Page 7
                    461: 
                    462: 
                    463: 
                    464: 
                    465: sh                           Command                           sh
                    466: 
                    467: 
                    468: 
                    469: ttiimmeess
                    470:      Print  the total  user  and system  times  for all  executed
                    471:      processes.
                    472: 
                    473: ttrraapp [_c_o_m_m_a_n_d] [_n ...]
                    474:      Execute command if  the shell receives signal n.  If command
                    475:      is  omitted, reset  traps to original  values.  To  ignore a
                    476:      signal, pass  null string as command.   With n zero, execute
                    477:      command when the  shell exits.  With no arguments, print the
                    478:      current trap settings.
                    479: 
                    480: uummaasskk [_n_n_n]
                    481:      Set  user file  creation  mask to  nnn.  If  no argument  is
                    482:      given, print the current file creation mask.
                    483: 
                    484: wwaaiitt [_p_i_d]
                    485:      Hold execution  of further  commands until process  pid ter-
                    486:      minates.  If  pid is omitted, wait  for all child processes.
                    487:      If  no  children  are  active,  this  command  finishes  im-
                    488:      mediately.
                    489: 
                    490: ***** Options *****
                    491: 
                    492: 
                    493: -cc _s_t_r_i_n_g
                    494:     Read shell commands from string.
                    495: 
                    496: -ee  Exit  on any  error (command  not found or  command returning
                    497:     nonzero status) if the shell is not interactive.
                    498: 
                    499: -ii  The  shell is  interactive, even if  the terminal is  not at-
                    500:     tached to  it; print prompt  strings.  For a  shell reading a
                    501:     script, ignore the signals SIGTERM and SIGINT.
                    502: 
                    503: -kk  Place all  keyword arguments into the environment.  Normally,
                    504:     the shell places  only assignments to variables preceding the
                    505:     command into the environment.
                    506: 
                    507: -nn  Read commands but do not execute them.
                    508: 
                    509: -ss  Read commands from  the standard input and write shell output
                    510:     to the standard error.
                    511: 
                    512: -tt  Read and execute one command rather than the entire file.
                    513: 
                    514: -uu  If the  actual value of a shell variable  is blank, report an
                    515:     error rather than substituting the null string.
                    516: 
                    517: -vv  Print each line as it is read.
                    518: 
                    519: -xx  Print each command and its arguments as it is executed.
                    520: 
                    521: -   Cancel the -x and -v options.
                    522: 
                    523: 
                    524: 
                    525: 
                    526: COHERENT Lexicon                                           Page 8
                    527: 
                    528: 
                    529: 
                    530: 
                    531: sh                           Command                           sh
                    532: 
                    533: 
                    534: 
                    535: If the first character of argument  0 is `-', the shell reads and
                    536: executes  the  scripts  /etc/profile  and  $HOME/.profile  before
                    537: reading the  standard input.  /etc/profile is  a convenient place
                    538: for initializing system-wide variables, such as TIMEZONE.
                    539: 
                    540: ***** Examples *****
                    541: 
                    542: The first  example is a shell  script that moves to  the next al-
                    543: phabetical sibling directory.
                    544: 
                    545: 
                    546: # DEF_NAME is a command that defines the current directory name.
                    547: DEF_NAME="basename `pwd`"
                    548: 
                    549: 
                    550: 
                    551: # CUR_DIR current directory name.
                    552: CUR_DIR=`$DEF_NAME`
                    553: 
                    554: 
                    555: 
                    556: # If current directory is root exit, else
                    557: # go the to parent directory.
                    558: if [ $CUR_DIR = '/' ]; then
                    559:         echo This is root directory.
                    560:         exit
                    561: else
                    562:         cd ..
                    563: fi
                    564: 
                    565: 
                    566: 
                    567: # DIR_NUM is the alphabetical number of the current directory
                    568: # in the directory list of the parent directory.
                    569: DIR_NUM=`lc -d1 | sed -n -e "/ $CUR_DIR/="`
                    570: 
                    571: 
                    572: 
                    573: # NEXT is the number of the next alphabetical directory.
                    574: NEXT=`expr $DIR_NUM + 1`
                    575: 
                    576: 
                    577: 
                    578: # If next directory exists then come to this directory,
                    579: # else stay in parent directory.
                    580: if [ $NEXT -le `lc -d1 | wc -l` ]; then
                    581:         cd `lc -d1 | sed -n -e $NEXT\p`
                    582: fi
                    583: 
                    584: 
                    585: The second  example is a  script that logs UUCP  information to a
                    586: file.  Usage is uuuuiinnffoo _o_u_t_f_i_l_e, where outfile is the file to hold
                    587: the logged information.
                    588: 
                    589: 
                    590: 
                    591: 
                    592: COHERENT Lexicon                                           Page 9
                    593: 
                    594: 
                    595: 
                    596: 
                    597: sh                           Command                           sh
                    598: 
                    599: 
                    600: 
                    601: 
                    602: OUTFILE=$1
                    603: 
                    604: 
                    605: 
                    606: > $OUTFILE
                    607: echo "Descriptive text for top of file, ended by Ctrl-D:"
                    608: echo "UUCP and Com Port Information." >> $OUTFILE
                    609: cat >> $OUTFILE
                    610: echo "===============================================" >> $OUTFILE
                    611: 
                    612: 
                    613: 
                    614: echo "/usr/lib/uucp" >> $OUTFILE
                    615: (
                    616:   cd /usr/lib/uucp
                    617:   echo "==============================================="
                    618:   ls -l L.sys L-devices Permissions
                    619:   echo "==============================================="
                    620:   echo "L.sys"
                    621:   echo "==============================================="
                    622:   cat L.sys
                    623:   echo "==============================================="
                    624:   echo "L-devices"
                    625:   echo "==============================================="
                    626:   cat L-devices
                    627:   echo "==============================================="
                    628:   echo "Permissions"
                    629:   echo "==============================================="
                    630:   cat Permissions
                    631:   echo "==============================================="
                    632: ) >> $OUTFILE
                    633: 
                    634: 
                    635: 
                    636: echo "/etc/ttys" >> $OUTFILE
                    637: echo "===============================================" >> $OUTFILE
                    638: ls -l /etc/ttys >> $OUTFILE
                    639: echo "===============================================" >> $OUTFILE
                    640: cat /etc/ttys >> $OUTFILE
                    641: echo "===============================================" >> $OUTFILE
                    642: echo "/dev/com*" >> $OUTFILE
                    643: echo "===============================================" >> $OUTFILE
                    644: ls -l /dev/com* >>  $OUTFILE
                    645: echo "===============================================" >> $OUTFILE
                    646: echo "End of file." >> $OUTFILE
                    647: echo "$OUTFILE written."
                    648: echo "Remove confidential passwords & phone numbers from $OUTFILE."
                    649: 
                    650: 
                    651: ***** Files *****
                    652: 
                    653: /eettcc/pprrooffiillee -- System-wide initial commands
                    654: $HHOOMMEE/.pprrooffiillee -- User-specific initial commands
                    655: /ddeevv/nnuullll -- For background input
                    656: 
                    657: 
                    658: COHERENT Lexicon                                          Page 10
                    659: 
                    660: 
                    661: 
                    662: 
                    663: sh                           Command                           sh
                    664: 
                    665: 
                    666: 
                    667: /ttmmpp/sshh* -- Temporaries
                    668: 
                    669: ***** See Also *****
                    670: 
                    671: commands, dup(), environ,  exec, fork(), login, newgrp, signal(),
                    672: test
                    673: _I_n_t_r_o_d_u_c_t_i_o_n _t_o _s_h, _t_h_e _B_o_u_r_n_e _S_h_e_l_l, tutorial
                    674: 
                    675: ***** Diagnostics *****
                    676: 
                    677: The shell  notes on the standard error  syntax errors in commands
                    678: and commands which it  cannot find.  Syntax errors cause a nonin-
                    679: teractive shell to exit.  It gives error messages if I/O redirec-
                    680: tion is incorrect.  The shell returns the exit status of the last
                    681: command executed or the status specified by an exit command.
                    682: 
                    683: 
                    684: 
                    685: 
                    686: 
                    687: 
                    688: 
                    689: 
                    690: 
                    691: 
                    692: 
                    693: 
                    694: 
                    695: 
                    696: 
                    697: 
                    698: 
                    699: 
                    700: 
                    701: 
                    702: 
                    703: 
                    704: 
                    705: 
                    706: 
                    707: 
                    708: 
                    709: 
                    710: 
                    711: 
                    712: 
                    713: 
                    714: 
                    715: 
                    716: 
                    717: 
                    718: 
                    719: 
                    720: 
                    721: 
                    722: 
                    723: 
                    724: COHERENT Lexicon                                          Page 11
                    725: 
                    726: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.