Information technology — Portable Operating System Interface (POSIX) — Part 2: Shell and Utilities

La présente partie de l'ISO/CEI 9945 définit une interface normalisée au niveau du code source pour des services d'interprétation de commandes, ou «shell», et des programmes utilitaires courants pour des programmes d'application. Ces services et programmes sont complémentaires de ceux spécifiés dans la norme ISO/CEI 9945-1:1990 (IEEE 1003.1-1990) {8}, désignée ensuite par «POSIX.1 {8}». Lorsque des utilitaires optionnels de portabilité utilisateur sont inclus, un domaine d'application supplémentaire s'ajoute à la présente partie de l'ISO/CEI 9945. La liste des utilitaires et fonctions fait l'objet d'une extension afin de fournir un environnement interactif commun pour les utilisateurs système et les développeurs de programmes. La présente partie de l'ISO/CEI 9945 a été élaborée à la fois pour les programmeurs d'applications et les implémenteurs de systèmes. Lorsque des utilitaires optionnels de portabilité utilisateur sont inclus, la présente Norme s'adresse également aux utilisateurs du système et aux développeurs de programmes. Cependant, elle a pour but d'être un document de référence et non un tutoriel sur l'utilisation des services, des utilitaires ou sur les relations entre les utilitaires. La présente partie de l'ISO/CEI 9945, sans les utilitaires optionnels de portabilité utilisateur, met l'accent sur les fonctionnalités du langage de commande (shell) et des utilitaires requises par les programmes d'application (y compris les fichiers de commandes -- «shell scripts») et ne traite pas de l'utilisation 1786interactive directe du langage de commande shell ou des utilitaires. Lorsque les utilitaires optionnels de portabilité utilisateur sont inclus, l'accent est également mis sur le support homogène d'utilisateurs de terminaux d'un système normalisé à un autre. Trois facteurs de contraintes limitent le domaine d'application de la portabilité utilisateur : 1) dans ce contexte, les utilisateurs sont limités à un groupe d'individus familiarisés a

Technologies de l'information — Interface pour la portabilité des systèmes (POSIX) — Partie 2: Enveloppe et services

General Information

Status
Withdrawn
Publication Date
22-Dec-1993
Withdrawal Date
22-Dec-1993
Current Stage
9599 - Withdrawal of International Standard
Completion Date
13-Dec-2002
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 9945-2:1993 - Information technology -- Portable Operating System Interface (POSIX)
English language
300 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

I NTE R NAT I O N AL ISO/IEC
STANDARD
99452
ANSIAEEE
Std 1003.2
First edition
1993-1 2-22
Information technology - Portable Operating
System Interface (POSIX) -
Part 2:
Shell and Utilities
Volume I
Technologies de l'information - Interface pour la portabilité des systèmes
lP0SlXl -
Partie 2: Enveloppe et services
Tome 1
Reference number
ISO/I EC 9945-2: 1993(E)
ANSIAEEE
Std 1003.2-1993

---------------------- Page: 1 ----------------------
The Institute of Electrical and Electronics Engineers, Inc.
345 East 47th Street, New York, NY 10017-2394, USA
Copyright O 1993 by the
Institute of Electrical and Electronics Engineers, Inc.
All rights reserved. Published 1993
Printed in the United States ofAmerica
ISBN 1-55937-255-9
No part of this publication may be reproduced in any form,
in an electronic retrieval system or otherwise,
without the prior written permission ofthe publisher:
SHI 5628
December 22, 1993

---------------------- Page: 2 ----------------------
International Standard ISO/IEC 9945-2: 1993
ANSUIEEE Std 1003.2-1992
(Includes ANSUIEEE Std 1003.2a-1992)
Information technology-
Portable Operating System Interface
(POSIX)-Part 2: Shell and Utilities
(Volume 1)
Sponsor
Technical Committee on Operating Systems and Application Environments
of the
IEEE Computer Society
Approved September 17,1992
IEEE Standards Board
Approved April 5, 1993
American National Standards Institute
Approved 1993 by the
International Organization for Standardization
and by the
International Electrotechnical Commission
Abstract: This standard is part of the POSM series of standards for applications
and user interfaces to open systems. It defines the applications interface to a shell
command language and a set of utility programs for complex data manipulation.
When the User Portability Utilities Option is included, the standard also defines a
common environment for general-purpose time-sharing users on character-oriented
display terminals .
Keywords: API, application portability, data processing, open systems, operating
system, portable application, POSIX, shell and utilities, user portability
Adopted as an International Standard by the
.\.l.’ International Organization for Standardization
IB
and by the
International Electrotechnical Commission
m
American National Standard
Published by
The Institute of Electrical and Electronics Engineers, Inc.

---------------------- Page: 3 ----------------------
Foreword
IS0 (the International Organization for Standardization) and IEC (the International
Electrotechnical Commission) form the specialized system for worldwide standardiz-
ation. National bodies that are members of IS0 or IEC participate in the development
of International Standards through technical committees established by the respective
organization to deal with particular fields of technical activity. IS0 and IEC technical
committees collaborate in fields of mutual interest. Other international organizations,
governmental and non-govemmcntal, in liaison with IS0 and IEC, also take part in the
work.
In the field of information technology, IS0 and IEC have established a joint technical
committee, ISO/IEC JTC 1. Draft International Standards adopted by the joint
technical committee are circulated to national bodies for voting. Publication as an
International Standard requires approval by at least 75 % of the national bodies casting
a vote.
International Standard ISO/IEC 9945-2: 1993 was prepared by Joint Technical
Committee ISO/IEC JTC 1, Information technology, subcommittee 22, Programming
languages, their environments and system sofiare interfaces.
ISO/IEC 9945 consists of the following parts, under the general title Information
technology - Portable Operating System Interface (POSIX):
- Part 1 : System application program inte face (API) [C language]
- Part 2: Shell and Utilities
- Part 3: System administration (under development)
Annexes A, B and C form an intcgral pan of this pan of ISODEC9945.
Annexes D, E, F, G and H are for information only.
International Organization for Standardizationflntemational Electrotechnical Commission
Case postale 56 * CH-1211 Genève 20 * Switzerland

---------------------- Page: 4 ----------------------
IEEE Standards documents are developed within the Technical Committees of
the IEEE Societies and the Standards Coordinating Committees of the IEEE Stan-
dards Board. Members of the committees serve voluntarily and without compen-
sation. They are not necessarily members of the Institute. The standards
developed within IEEE represent a consensus of the broad expertise on the subject
within the Institute as well as those activities outside of IEEE that have expressed
an interest in participating in the development of the standard.
Use of an IEEE Standard is wholly voluntary. The existence of an IEEE Standard
does not imply that there are no other ways to produce, test, measure, purchase,
market, or provide other goods and services related to the scope of the IEEE Stan-
dard. Furthermore, the viewpoint expressed at the time a standard is approved
and issued is subject to change brought about through developments in the state
of the art and comments received from users of the standard. Every IEEE Stan-
dard is subjected to review at least every five years for revision or reaffirmation.
When a document is more than five years old and has not been reaffirmed, it is
reasonable to conclude that its contents, although still of some value, do not
wholly reflect the present state of the art. Users are cautioned to check to deter-
mine that they have the latest edition of any IEEE Standard.
Comments for revision of IEEE Standards are welcome from any interested party,
regardless of membership affiliation with IEEE. Suggestions for changes in docu-
ments should be in the form of a proposed change of text, together with appropri-
ate supporting comments.
Interpretations: Occasionally questions may arise regarding the meaning of por-
tions of standards as they relate to specific applications. When the need for
interpretations is brought to the attention of the IEEE, the Institute will initiate
action to prepare appropriate responses. Since IEEE Standards represent a con-
sensus of all concerned interests, it is important to ensure that any interpretation
has also received the concurrence of a balance of interests. For this reason, the
IEEE and the members of its technical committees are not able to provide an
instant response to interpretation requests except in those cases where the matter
has previously received formal consideration.
Comments on standards and requests for interpretations should be addressed to:
Secretary, IEEE Standards Board
445 Hoes Lane
P.O. Box 1331
Piscataway, NJ 08855-1331
IEEE Standards documents are adopted by the Institute of Electrical and Elec-
tronics Engineers without regard to whether their adoption may involve
patents on articles, materials, or processes. Such adoption does not assume
any liability to any patent owner, nor does it assume any obligation whatever to
parties adopting the standards documents.

---------------------- Page: 5 ----------------------
Contents
PAGE
Foreword ix
......................
X
Introduction .
xi
..........
Organization of This Part of ISO/IEC 9945
................... xii
Base Documents .
Xlll
Related Standards Activities .
Sectionl: General .
1.1 Scope .
1.2 Normative References .
1.3 Conformance .
1.4 Test Methods .
........ 9
Section 2: Terminology and General Requirements
.................. 9
2.1 Conventions
................... 13
2.2 Definitions
2.3 Built-In Utilities . 39
2.4 Character Set . 40
..................... 44
2.5 Locale
2.6 Environment Variables . 73
.................. 77
2.7 Required Files
............. 77
2.8 Regular Expression Notation
2.9 Dependencies on Other Standards . 92
2.10 Utility Conventions . 97
2.11 Utility Description Defaults . 101
2.12 File Format Notation . 108
............... 111
2.13 Configuration Values
2.14 Terminal Characteristics . 114
Section 3: Shell Command Language . 117
3.1 Shell Introduction . 117
3.2 Quoting . 117
3.3 Token Recognition . 119
3.4 Reserved Words . 121
3.5 Parameters and Variables . 122
3.6 Word Expansions . 125
3.7 Redirection . 130
3.8 Exit Status and Errors . 133
3.9 Shell Commands . 135
3.10 Shell Grammar . 143
3.11 Signals and Error Handling . 149
3.12 Shell Execution Environment . 149
3.13 Pattern Matching Notation . 150
..
11

---------------------- Page: 6 ----------------------
3.14 Special Built-In Utilities .
152
3.14.1 break-Exit from for. while. or until loop . 153
3.14.2 colon - Null utility .
153
3.14.3 continue - Continue for, while. or until loop . . 153
3.14.4 dot - Execute commands in current environment . 154
3.14.5 eval - Construct command by concatenating
arguments .
154
3.14.6 exec - Execute commands and open, close, and/or copy file
descriptors .
154
3.14.7 exit - Cause the shell to exit . 155
3.14.8 export - Set export attribute for variables . 155
3.14.9 readonly - Set read-only attribute for variables . 155
3.14.10 return - Return from a function . 156
3.14.11 set - Sethnset options and positional parameters . . 156
3.14.12 shift - Shift positional parameters . 159
3.14.13 trap - Trap signals . 160
3.14.14 unset - Unset values and attributes of variables and
functions .
161
Section 4: Execution Environment Utilities .
163
4.1 awk . Pattern scanning and processing language .
163
4.2 basename . Return nondirectory portion of pathname .
190
4.3 bc -Arbitrary-precision arithmeticlanguage .
192
4.4 cat . Concatenate and print files .
205
4.5 cd . Change working directory .
207
4.6 chgrp . Change file group ownership .
210
4.7 chmod - Change file modes . .
212
4.8 chow . Change file ownership .
217
4.9 cksum . Write file checksums and sizes .
220
4.10 cmp . Compare two files .
222
4.11 comm - Select or reject lines common to two files . 225
4.12 command . Execute a simple command . . 228
4.13 cp . Copy files .
231
4.14 cut . Cut out selected fields of each line of a file .
237
4.15 date . Write the date and time .
240
4.16 dd . Convert and copy a file .
244
4.17 dif f . Compare two files . .
249
4.18 dirname . Return directory portion of pathname .
254
4.19 echo . Write arguments to standard output .
257
4.20 ed - Edit text .
259
4.21 env . Set environment for command invocation .
272
4.22 expr . Evaluate arguments as an expression .
274
4.23 false . Return false value .
278
4.24 find-Findfiles . .
279
4.25 fold . Fold lines .
285
4.26 getconf . Get configuration values .
287
4.27 getopts . Parse utility options . , .
291
4.28 grep . File pattern searcher .
295
4.29 head . Copy the first part of files . 299
4.30 id - Return user identity .
302
...
111

---------------------- Page: 7 ----------------------
4.31 j oin . Relational database operator .
305
4.32 ki 11 . Terminate or signal processes .
309
4.33 In . Link files .
313
4.34 locale . Get locale-specific information .
315
4.35 localedef . Define locale environment .
320
4.36 logger . Log messages .
323
4.37 logname . Return the login name of the user .
325
4.38 lp . Send files to a printer .
327
4.39 Is . List directory contents .
330
4.40 mai lx . Process messages .
336
4.41 mkdir . Make directories .
358
4.42 mkf i f o . Make FIFO special files .
360
4.43 mv . Move files .
363
4.44 nohup . Invoke a utility immune to hangups .
367
4.45 od . Dump files in various formats .
369
4.46 pas te . Merge corresponding or subsequent lines of files .
374
4.47 pathchk . Check pathnames .
377
4.48 pax . Portable archive interchange .
380
4.49 pr . Print files .
388
4.50 printf . Write formatted output .
393
4.51 pwd . Return working directory name . 396
4.52 read . Read a line from standard input .
398
4.53 rm . Remove directory entries .
401
4.54 rmdir . Remove directories .
404
4.55 sed . Stream editor .
406
4.56 sh . Shell, the standard command language interpreter . 414
4.57 sleep . Suspend execution for an interval .
429
4.58 sort . Sort, merge, or sequence check text files
...... 431
s t ty . Set the options for a terminal
4.59 . 437
4.60 tail . Copy the last part of a file . 444
4.61 tee . Duplicate standard input .
447
4.62 test . Evaluate expression .
449
4.63 touch . Change file access and modification times . 453
4.64 tr . Translate characters .
457
4.65 true . Return true value .
462
4.66 t ty . Return the terminal name of the user . 464
4.67 mask-Get or set the filemodecreationmask . 466
4.68 uname . Return system name .
469
4.69 uniq . Report or filter out repeated lines in a file .
472
4.70 wait . Await process completion . 474
wc . Word, line, and bytekharacter count .
4.71
477
4.72 xargs . Construct argument list(s) and invoke utility .
480
Section 5: User Portability Utilities Option . 485
5.1 alias . Define or display aliases .
485
5.2 at . Execute commands at a later time .
488
5.3 batch . Execute commands when the system load permits . .
495
5.4 bg . Run jobs in the background .
496
5.5 crontab-Scheduleperiodicbackgroundwork .
499
5.6 csplit - Split files based on context .
502
iv

---------------------- Page: 8 ----------------------
.............. 505
5.7 ctags . Create a tags file
............. 509
5.8 df . Report free disk space
............ 512
5.9 du . Estimate file space usage
515
5.10 ex . Text editor .
expand . Convert tabs to spaces . 542
5.11
f c . Process command history list . 545
5.12
f g . Run jobs in the foreground . 550
5.13
file . Determine file type . 552
5.14
jobs . Display status of jobs in the current session . 555
5.15
man . Display system documentation . 558
5.16
mesg . Permit or deny messages . 561
5.17
more-display files on a page-by-page basis . 563
5.18
........... 574
5.19 newgrp . Change to a new group
5.20 nice . Invoke a utility with an altered system scheduling
578
priority .
580
5.21 nm . Write the name list of an object file .
584
5.22 patch . Apply changes to files .
5.23 ps . Report process status . 589
5.24 renice . Set system scheduling priorities of running processes . 594
597
5.25 split . Split files into pieces .
5.26 strings . Find printable strings in files . 600
5.27 tabs . Set terminal tabs . 603
5.28 talk . Talk to another user . 606
5.29 time . Time a simple command . 609
5.30 tput . Change terminal characteristics . 612
614
5.31 unalias . Remove alias definitions .
616
5.32 unexpand . Convert spaces to tabs .
619
5.33 uudecode . Decode a binary file .
5.34 uuencode . Encode a binary file . 621
vi . Screen-oriented (visual) display editor . 624
5.35
5.36 who . Display who is on the system . 655
5.37 write . Write to another user . 657
Section 6: Software Development Utilities Option . 661
6.1 ar . Create and maintain library archives . 661
make . Maintain, update. and regenerate groups of programs . 666
6.2
6.3 strip - Remove unnecessary information from executable files . 679
........ 683
Section 7: Language-Independent System Services
........ 683
7.1 Shell Command Interface .
684
7.2 Access Environmentvariables . .
684
7.3 RE Matching . .
........ 684
7.4 Pattern Matching .
........ 684
7.5 Command Option Parsing .
........ 685
7.6 Generate Pathnames Matching a Pattern
........ 685
7.7 Perform Word Expansions .
7.8 Get POSIX Configurable Variables . . 685
7.9 Locale Control . . 686
... 687
Annex A (normative) C-Language Development Utilities Option
V

---------------------- Page: 9 ----------------------
A.l c8 9 . Compile Standard C programs . .
687
A.2 lex . Generate programs for lexical tasks .
693
A.3 yacc . Yet another compiler compiler .
703
AnnexB (normative) C-LanguageBindings Option .
719
B.l C-Language Definitions .
719
B.2 C Numeric Limits .
721
B.3 C Binding for Shell Command Interface .
723
B.4 C Binding for Access Environmentvariables .
726
B.5 C Binding for RE Matching .
726
B.6 C Binding for Match Filename or Pathname .
731
B.7 C Binding for Command Option Parsing .
732
B.8 C Binding for Generate Pathnames Matching a Pattern .
733
B.9 C Binding for Perform Word Expansions .
736
B.10 C Binding for Get POSIX Configurable Variables . 739
B.ll C Binding for Locale Control . 741
Annex C (normative) FORTRAN Development and Runtime Utilities
Options .
743
C.1 asa-Interpret carriage-control characters .
743
C.2 fort77 -FORTRAN compiler .
746
Annex D (informative) Bibliography .
751
AnnexE (informative) Rationale and Notes . .
755
E.l General .
.... 755
E.2 TerminologyandGeneral Requirements .
....
769
E.3 Shell Command Language .
....
822
E.4 Execution Environment Utilities .
....
858
E.5 User Portability Utilities Option .
.... 971
E.6 Software Development Utilities Option .
.... 1011
E.7 Language-Independent Systemservices .
....
1021
E.8 C-Language Development Utilities Option .
.... 1022
E.9 C-Language Bindings Option .
.... 1033
E.10 FORTRAN Development and Runtime Utilities Options
.... 1049
AnnexF (informative) Portability Considerations .
1053
F.l User Requirements .
1053
F.2 Portability Capabilities .
1056
F.3 Profiling Considerations .
1059
Annex G (informative) Sample National Profile . 1063
G.l Danish National Profile Example .
1063
G.2 Additional Danish Utility Requirements .
1064
G.3 Locale String Definition Guideline .
1068
G.4 Scope of Danish National Locale . 1068
G.5 Character Mnemonics Guidelines .
1149
G.6 Danish Charmap File Examples . 1152
AnnexH (informative) Proposals for Future Revisions .
1193
vi

---------------------- Page: 10 ----------------------
H.l Resolve International Comments toDIS 9945-2 . 1193
H.2 Resolve Interpretation Requests and Correct Technical Defects . 1196
H.3 Revise Granularity of Options . 1197
H.4 Support Features of 9945-1 Revision . 1197
H.5 Reorganize 9945-1 and 9945-2 Material . 1198
Identifier Index . 1199
Alphabetic Topical Index . 1203
FIGURES
. bc Exponential Example .
Figure E-1 874
. Shell Script Simulating cat s .
E-2
Figure 875
. ASCII to EBCDIC Conversion .
Figure E-3 895
. ASCII to IBM EBCDIC Conversion .
Figure E-4 896
. getopts Example .
Figure E-5 911
. nice Implementation Example .
Figure E-6 995
. lex Example Program .
Figure E-7 1029
. Sample system() Implementation .
1038
Figure E-8
. Sample pcZose0 Implementation .
1040
Figure E-9
. Example RE Matching . 1041
Figure E-10
. Argument Processing Withgetopt0 . . 1044
Figure E-11
TABLES
Typographical Conventions . 9
Table 2-1 .
Table 2-2 . Job Control Job ID Formats . 27
Regular Built-in Utilities . 39
Table 2-3 .
Character Set and Symbolic Names . 40
Table 2-4 .
Control Character Set . 42
Table 2-5 .
LC-CTYPE Category in the POSIX Locale .
Table 2-6 . 49
Table 2-7 . Valid Character Class Combinations . 52
LC-COLLATE Category in the POSIX Locale . 54
Table 2-8 .
Table 2-9 . LC-MONETARY Category in the POSIX Locale . 60
LC-NUMERIC Category in the POSIX Locale . 63
Table 2-10 .
LC-TIME Category in the POSIX Locale . 65
Table 2-11 .
LC-MESSAGES Category in the POSIX Locale . 67
Table 2-12 .
BRE Precedence . 83
Table 2-13 .
ERE Precedence . 87
Table 2-14 .
C Standard Operators and Functions . 96
Table 2-15 .
Escape Sequences . 109
Table 2-16 .
Table 2-17 . .
Utility Limit Minimum Values 112
Symbolic Utility Limits . 113
Table 2-18 .
Optional Facility Configuration Values . 114
Table 2-19 .
Control Character Names . 115
Table 2-20 .
vii

---------------------- Page: 11 ----------------------
Table 3-1 . Shell Error Summary . 134
Table 4-1 . awk Expressions in Decreasing Precedence . 168
Table 4-2 . awk Escape Sequences . 188
195
Table 4-3 . bc Operators .
216
Table 4-4 . chmod Octal Mode Values .
277
Table 4-5 . expr Expressions .
Table 4-6 . od Named Characters . 373
Table 4-7 . s t ty Control Character Names . 441
Table 4-8 . stty Circumflex Control Characters . 442
Table 5-1 . file Output Strings . 554
Table 5-2 . ps Variable Names and Default Headers . 593
686
Table 7-1 . POSIX.1 Numeric-Valued Configurable Variables .
697
Table A-1 . lex Table Size Declarations .
Table A-2 . lex Escape Sequences . 699
700
Table A-3 . lex ERE Precedence .
Table A-4 . yacc Internal Limits . 717
Table B-1 . POSIX.2 Reserved Header Symbols . 720
720
Table B-2 . . POSIX-C-SOURCE .
722
Table B-3 . C Macros for Symbolic Limits .
722
Table B-4 . C Compile-Time Symbolic Constants . .
723
Table B-5 . C Execution-Time SymbolicConstants .
Table B-6 . Structure Type regex-t . 727
Table B-7 . Structure Type regmatch-t . 727
Table B-8 . regcomp ( ) cflags Argument . 727
Table B-9 . regexec ( ) eflags Argument . 727
730
Table B-10 . regcompo, regexeco Return Values .
731
Table B-11 . fnmatch0flags Argument .
734
Table B-12 . Structure Type glob-t .
Table B-13 . glob() flags Argument . 735
Table B-14 . glob() Error Return Values . 736
Table B-15 . Structure Type wordexp-t . 737
737
Table B-16 . wordexp () flags Argument .
739
Table B-17 . wordexp () Return Values .
739
Table B-18 . confstro name Values .
740
Table B-19 . C Bindings for Numeric-Valued Configurable Variables .
831
Table E-1 . Parameter Expansion Summary .
899
Table E-2 . dirname Examples . , .
971
Table E-3 . Optional Utility Combinations .
1056
Table F-1 . POSIX.2 Portability Capability Summary .
1064
Table G-1 . Danish Locale Options .
...
Vlll

---------------------- Page: 12 ----------------------
1
Introduction
(This introduction is not a normative part of ISOAEC 9945-2, Information Technology - Portable
Operating System Interface (POSIX) - Part 2: Shell and Utilities, but is included for information
only.)
1 The primary purpose of this part of ISO/IEC 9945 is to define a standard interface
2 and environment for application programs that require the services of a “shell”
3 command language interpreter and a set of common utility programs. It is
4 intended for systems implementors and application software developers and is
5 complementary to ISODEC 9945-1: 1990 (IEEE Std 1003.1-1990) {SI1’ (first in a
6 family of “POSIX” standards), which specifies operating system interfaces and
7 source code level functions based on the UNIX2’ system documentation. This part
8 of ISO/IEC 9945, referred to as “POSIX.2,” is based upon documentation and the
9 knowledge of existing programs that assume an interface and architecture similar
10 to that described by POSM.1. (See 1.1 for a full description of the relationship
11 between the standards.)
12 The secondary purpose of this part of ISO/IEC 9945 is to supplement the applica-
13 tion portability interfaces to promote the “portability” of users and programmers
14 between conforming systems. The User Portability Utilities Option extends the
15 list of utilities, and features of utilities used primarily for application portability,
16 to provide a common interactive environment. It is intended for end users, pro-
17 gram developers, systems implementors, and application software developers.
18 Interfaces to satisfy these two purposes were originally developed by two separate
19
working groups, with user portability options packaged as a supplementary docu-
20 ment to the base set of application portability features. However, since the
21 development schedules eventually coincided, the draft documents have been
22
merged editorially into this single part of ISO/IEC 9945. Even with this merger,
23
the user portability features remain an optional component of this part of ISO/IEC
24
9945 *
25 The majority of this part of ISO/IEC 9945 describes the functions of utilities that
26 can interface with application programs. The standard also provides high-level
27 language interfaces that the application uses to access these utilities and other
28 useful, related services. These language-independent service interfaces are tem-
29 The C language
porarily described in terms of their C-language bindings.
30
assumed is that defined by the C Standard: ISO/IEC 9899: 1990 (7j.
31 1) The number in braces corresponds to those of the references in 1.2 (or the bibliographic entry in
32 Annex D if the number is preceded by the letter B).
33 2) UNIX is a registered trademark of UNE System Laboratories in the USA and other countries.
X Introduction

---------------------- Page: 13 ----------------------
Organization of This Part of ISO/IEC 9945
34
35 This part of ISO/IEC 9945 is divided into ten parts:
36 - General, including a statement of scope, normative references, conformance
37 requirements, and test methods (Section 1).
38 - Definitions, general requirements, and the environment available to appli-
cations (Section 2).
39
40 - The shell command language (Section 3).
41 - Descriptions of the utilities in the required “Execution Environment Utili-
ties” (Section 4).
42
43 - Descriptions of the utilities in the optional “User Portability Utilities,” for
44 interactive users on asynchronous terminals (Section 5).
- Descriptions of the utilities in the optional “Software Development Utili-
45
ties” (Section 6).
46
47 - Language-independent interfaces for high-level programming language
48 access to shell and related services (Section 7).
49 - Descriptions of the utilities in the optional “C-Language Development Utili-
50 ties” (Annex A).
- C-language bindings to the interfaces in Section 7 (Annex B).
51
52 - Descriptions of the utilities in the optional “FORTRAN Development and
53 Runtime Utilities” (Annex C).
54 This introduction, the foreword, any footnotes, notes accompanying the text, and
55 the informative annexes are not considered part of this part of ISO/IEC 9945.
Annexes D through H are informative. The line numbers are also not part of the
56
standard. They were added as an aid to the user due to the size of the document,
57
but they can vary in, or be omitted from, other editions translated into languages
58
other than Engli~h.~)
59
60 3) Because of minor editorial differences, some line numbers, page breaks, and bibliographic
61 reference numbers of the POSIX.2 version printed in June 1993 differ slightly from those in this
version, the joint publication of IEEE Std 1003.2-1992 and ISO/IEC 9945-2: 1993 (E). There are
62
also informative differences in Annexes D, G, and H; however, there are no normative differences
63
64 between these two printings. To assist in citing passages from the standard precisely, such as
for interpretation requests, readers are urged to identify the printed version of the standard-
65
either the “IEEE-only version” or the “joint IEEE/ISO/IEC version”-along with line and page
66
67 numbers and appropriate subclause numbers.
xi

---------------------- Page: 14 ----------------------
68 Base Documents
69 Many of the interfaces and utilities of this part of ISO/IEC 9945 were adapted
70 from materials in machine-readable f
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.