ISO/IEC 9945-2:1993
Ausgabedatum: 1993 12 23
Information technology — Portable Operating System Interface (POSIX) — Part 2: Shell and Utilities
This part of ISO/IEC 9945 defines a standard source-code-level interface to command interpretation, or "shell," services and common utility programs for applica- tion programs. These services and programs are complementary to those specified by ISO/IEC 9945-1: 1990 (IEEE Std 1003.1-1990) {8}, hereinafter referred to as "POSIX.1 {8}." When the User Portability Utilities Option is included, this part of ISO/IEC 9945 has additional scope. The list of utilities and features is extended to provide a common interactive environment for system users and program developers.
This part of ISO/IEC 9945 has been designed to be used by both application programmers and system implementors. When the User Portability Utilities Option is included, it is also to be used by system users and program developers. How- ever, it is intended to be a reference document and not a tutorial on the use of the services, the utilities, or the interrelationships between the utilities.
The emphasis of this part of ISO/IEC 9945 without the User Portability Utilities Option is on the shell and utility functionality required by application programs (including "shell scripts") and not on the direct interactive use of the shell command language or the utilities by humans. When the User Portability Utilities Option is included, the emphasis is extended to support terminal users in a consistent manner across all conforming systems. There are three constraining factors that limit this user portability scope:
(1) The users in this context are limited to the group of individuals who are familiar with the style of interaction characteristic of historically derived systems based on one of the UNIX operating systems. Typical users would include program developers, engineers, or general purpose time-sharing users.
(2) The environment to be supported is a multi-user time-sharing system supporting character-oriented display terminals. Alternatively, it is a collection of single-user systems interconnected via local area networks or telephone lines, but with similar user interfaces. This part of ISO/IEC 9945 does not include support that is tailored for bit-mapped or graphics display terminals, although it is expected that such terminals could emu-late the character orientation required by this environment. When facili-ties require cursor addressability from the terminal hardware, this is specifically identified in this part ofISO/IEC 9945.
(3) The facilities to be provided are based on the historical models of the fol- lowing documents: the System V Interface Definition {B37}, the BSD User Manual {B46}, the X/Open Portability Guide {B49}, and documentation for the KornShell {B38}. Emphasis is placed on standardizing existing practice for existing users, with changes or additions limited to correcting deficiencies in the following areas:
(a) Support for international character sets and other localization requirements, such as date formats, collation sequences, etc.
(b) Reconciliation of differences between the historical implementations.
(c) Elimination of system or device dependencies.
(d) Corrections of features that could reduce system or user security/integrity.
Portions of this part of ISO/IEC 9945 comprise optional language bindings to sys-tern service interfaces. (See, for example, the C-Language Bindings Option in Annex B.) This part of ISO/IEC 9945 is intended to describe language interfaces and utilities in sufficient detail so that an application developer can understand the required interfaces without access to the source code of existing implementations on which they may be based. Therefore, it does not attempt to describe the source programming language or internal design of the utilities; they should be , considered "black boxes" that exhibit the described functionality.
For language interfaces, or functions, this part of ISO/IEC 9945 has been defined exclusive