Introduction.......................................................  viii
   Organization of the Standard....................................  viii
   Base Documents..................................................    ix
   Related Standards Activities....................................     x

Section 1: General.................................................     1
   1.1   Scope.....................................................     1
   1.2   Normative References......................................    12
   1.3   Conformance...............................................    12

Section 2: Terminology and General Requirements....................    19
   2.1   Conventions...............................................    19
   2.2   Definitions...............................................    23
   2.3   Built-in Utilities........................................    51
   2.4   Character Set.............................................    54
   2.5   Locale....................................................    61
   2.6   Environment Variables.....................................   103
   2.7   Required Files............................................   109
   2.8   Regular Expression Notation...............................   110
   2.9   Dependencies on Other Standards...........................   138
   2.10  Utility Conventions.......................................   147
   2.11  Utility Description Defaults..............................   156
   2.12  File Format Notation......................................   168
   2.13  Configuration Values......................................   173

Section 3: Shell Command Language..................................   181
   3.1   Shell Definitions.........................................   183
   3.2   Quoting...................................................   185
   3.3   Token Recognition.........................................   188
   3.4   Reserved Words............................................   190
   3.5   Parameters and Variables..................................   192
   3.6   Word Expansions...........................................   195
   3.7   Redirection...............................................   209
   3.8   Exit Status and Errors....................................   214
   3.9   Shell Commands............................................   216
   3.10  Shell Grammar.............................................   233
   3.11  Signals and Error Handling................................   240
   3.12  Shell Execution Environment...............................   240
   3.13  Pattern Matching Notation.................................   242
   3.14  Special Built-in Utilities................................   246

Section 4: Execution Environment Utilities.........................   263
   4.1   awk - Pattern scanning and processing language............   263
   4.2   basename - Return nondirectory portion of pathname........   297
   4.3   bc - Arbitrary-precision arithmetic language..............   301
   4.4   cat - Concatenate and print files.........................   318
   4.5   cd - Change working directory.............................   322
   4.6   chgrp - Change file group ownership.......................   326
   4.7   chmod - Change file modes.................................   329
   4.8   chown - Change file ownership.............................   337
   4.9   cksum - Write file checksums and sizes....................   341
   4.10  cmp - Compare two files...................................   347
   4.11  comm - Select or reject lines common to two files.........   350
   4.12  command - Execute a simple command........................   354
   4.13  cp - Copy files...........................................   359
   4.14  cut - Cut out selected fields of each line of a file......   368
   4.15  date - Write the date and time............................   373
   4.16  dd - Convert and copy a file..............................   379
   4.17  diff - Compare two files..................................   388
   4.18  dirname - Return directory portion of pathname............   395
   4.19  echo - Write arguments to standard output.................   399
   4.20  ed - Edit text............................................   402
   4.21  env - Set environment for command invocation..............   419
   4.22  expr - Evaluate arguments as an expression................   423
   4.23  false - Return false value................................   428
   4.24  find - Find files.........................................   430
   4.25  fold - Fold lines.........................................   438
   4.26  getconf - Get configuration values........................   442
   4.27  getopts - Parse utility options...........................   447
   4.28  grep - File pattern searcher..............................   452
   4.29  head - Copy the first part of files.......................   459
   4.30  id - Return user identity.................................   462
   4.31  join - Relational database operator.......................   466
   4.32  kill - Terminate or signal processes......................   471
   4.33  ln - Link files...........................................   476
   4.34  locale - Get locale-specific information..................   480
   4.35  localedef - Define locale environment.....................   486
   4.36  logger - Log messages.....................................   491
   4.37  logname - Return user's login name........................   494
   4.38  lp - Send files to a printer..............................   496
   4.39  ls - List directory contents..............................   502
   4.40  mailx - Process messages..................................   510
   4.41  mkdir - Make directories..................................   514
   4.42  mkfifo - Make FIFO special files..........................   518
   4.43  mv - Move files...........................................   521
   4.44  nohup - Invoke a utility immune to hangups................   526
   4.45  od - Dump files in various formats........................   530
   4.46  paste - Merge corresponding or subsequent lines of
         files.....................................................   538
   4.47  pathchk - Check pathnames.................................   543
   4.48  pax - Portable archive interchange........................   548
   4.49  pr - Print files..........................................   562
   4.50  printf - Write formatted output...........................   568
   4.51  pwd - Return working directory name.......................   574
   4.52  read - Read a line from standard input....................   576
   4.53  rm - Remove directory entries.............................   579
   4.54  rmdir - Remove directories................................   584
   4.55  sed - Stream editor.......................................   587
   4.56  sh - Shell, the standard command language interpreter.....   597
   4.57  sleep - Suspend execution for an interval.................   603
   4.58  sort - Sort, merge, or sequence check text files..........   605
   4.59  stty - Set the options for a terminal.....................   613
   4.60  tail - Copy the last part of a file.......................   623
   4.61  tee - Duplicate standard input............................   628
   4.62  test - Evaluate expression................................   631
   4.63  touch - Change file access and modification times.........   640
   4.64  tr - Translate characters.................................   645
   4.65  true - Return true value..................................   652
   4.66  tty - Return user's terminal name.........................   654
   4.67  umask - Get or set the file mode creation mask............   657
   4.68  uname - Return system name................................   662
   4.69  uniq - Report or filter out repeated lines in a file......   665
   4.70  wait - Await process completion...........................   669
   4.71  wc - Word, line, and byte count...........................   674
   4.72  xargs - Construct argument list(s) and invoke utility.....   678

Section 5: User Portability Utilities Option.......................   685

Section 6: Software Development Utilities Option...................   687
   6.1   ar - Create and maintain library archives.................   687
   6.2   make - Maintain, update, and regenerate groups of
         programs..................................................   695
   6.3   strip - Remove unnecessary information from executable
         files.....................................................   716

Section 7: Language-Independent System Services....................   719
   7.1   Shell Command Interface...................................   720
   7.2   Access Environment Variables..............................   720
   7.3   Regular Expression Matching...............................   721
   7.4   Pattern Matching..........................................   721
   7.5   Command Option Parsing....................................   721
   7.6   Generate Pathnames Matching a Pattern.....................   722
   7.7   Perform Word Expansions...................................   722
   7.8   Get POSIX Configurable Variables..........................   722
   7.9   Locale Control............................................   723

Annex A (normative) C Language Development Utilities Option........   725
   A.1   c89 - Compile Standard C programs.........................   726
   A.2   lex - Generate programs for lexical tasks.................   736
   A.3   yacc - Yet another compiler compiler......................   750

Annex B (normative) C Language Bindings Option.....................   771
   B.1   C Language Definitions....................................   772
         B.1.1  POSIX Symbols......................................   772
         B.1.2  Headers and Function Prototypes....................   774
         B.1.3  Error Numbers......................................   774
   B.2   C Numerical Limits........................................   775
         B.2.1  C Macros for Symbolic Limits.......................   775
         B.2.2  Compile-Time Symbolic Constants for Portability
                Specifications.....................................   776
         B.2.3  Execution-Time Symbolic Constants for Portability
                Specifications.....................................   777
         B.2.4  POSIX.1 C Numerical Limits.........................   777
   B.3   C Binding for Shell Command Interface.....................   778
         B.3.1  C Binding for Execute Command......................   778
         B.3.2  C Binding for Pipe Communications with Programs....   782
   B.4   C Binding for Access Environment Variables................   786
   B.5   C Binding for Regular Expression Matching.................   786
   B.6   C Binding for Match Filename or Pathname..................   794
   B.7   C Binding for Command Option Parsing......................   796
   B.8   C Binding for Generate Pathnames Matching a Pattern.......   799
   B.9   C Binding for Perform Word Expansions.....................   804
   B.10  C Binding for Get POSIX Configurable Variables............   809
   B.11  C Binding for Locale Control..............................   812

Annex C (normative) FORTRAN Development and Runtime Utilities
   Options.........................................................   813
   C.1   asa - Interpret carriage-control characters...............   813
   C.2   fort77 - FORTRAN compiler.................................   817

Annex D (informative) Bibliography.................................   825

Annex E (informative) Rationale and Notes..........................   829
   E.1   General...................................................   829
   E.2   Terminology and General Requirements......................   830
   E.3   Shell Command Language....................................   831
   E.4   Execution Environment Utilities...........................   832
   E.5   User Portability Utilities Option.........................   843
   E.6   Software Development Utilities Option.....................   843
   E.7   Language-Independent System Services......................   844
   E.8   C Language Development Utilities Option...................   844
   E.9   C Language Bindings Option................................   845
   E.10  FORTRAN Development and Runtime Utilities Options.........   846

Annex F (informative) Sample National Profile......................   847

Annex G (informative) Balloting Instructions.......................   919

Identifier Index...................................................   929

Alphabetic Topical Index...........................................   933