Shell commands changed for UNIX03
z/OS® UNIX is UNIX95 conformant, with extensions to commands using formats (such as uppercase option letters) to avoid conflicts with subsequent UNIX standards. The specification of new options and changed command behavior by SUSv3 (also known as UNIX03) has resulted in conflicts with IBM's extensions.
The _UNIX03 shell variable was introduced in z/OS 1.8 as a means of controlling whether certain shell commands behave according to Single UNIX Specifications, version 3 (SUSv3). _UNIX03=YES is only needed when an option or behavior conflicts with an existing z/OS implementation, and the SUSv3 behavior is desired. Additional command changes introduced in z/OS 1.9 have behavior conflicts controlled by the _UNIX03 variable. If _UNIX03 is not set (or set to "NO"), the z/OS 1.9 commands will maintain compatibility with prior releases.
- /etc/profile
- /etc/csh.cshrc
- /etc/csh.login
- /etc/rc
Users who want the SUSv3 conformant behavior can set _UNIX03=YES in their own profile files, or in specific scripts or command invocations where it is needed.
Table 1 lists the commands that were changed for UNIX03. (It is not a complete list of changes to shell commands.) For more detail, see the specific command description.
Command | z/OS release introduced | Affected option or behavior | _UNIX03 =YES | _UNIX03 is unset or not YES |
---|---|---|---|---|
awk | 1.9 | Stricter rules on a |
No effect |
No effect |
bc | 1.9 | /usr/lib/lib.b |
No effect | No effect |
cp | 1.8 | Options added or changed: |
-P specifies symbolic |
-P params specifies |
cksum | 1.10 | Output and diagnostic messages | Output defaults to space-separated:
If a filename operand is not specified, the path name and its leading white space is omitted. If a read error occurs, the checksum for that file is not displayed and a diagnostic message is sent to stderr. |
Output defaults to tab-separated:
If a file operand is not specified, the path name and its leading tab is omitted. If a read error occurs, cksum attempts to display the available checksum to standard output and marks the output line with FSUM6199 [read error]. |
ed | 1.9 | Minor changes in |
c and i subcommands: |
c and i subcommands: |
file | 1.9 | Options added or changed: |
-m magic tested before |
-m magic tested |
mailx | 1.9 | Default command-mode |
Default subcommand is |
Default subcommand is |
od | 1.9 | Output of signed single-byte |
No effect | No effect |
pax | 1.8 | Options added or changed: |
|
|
sed | 1.9 | Subcommand preceded by ! |
One or more ! |
Only one ! character is |
sum | 1.10 | Output and diagnostic messages | Output defaults to space-separated:
If
a filename operand is not specified, the
path name and its leading white space is omitted. When a read error occurs, the checksum for that file is not displayed and a diagnostic message is sent to stderr. |
Output defaults to tab-separated:
If
a file operand is not specified, the path
name and its leading tab is omitted. When a read error occurs, sum attempts to display the available checksum to stdout and marks the output line with FSUM6199 [read error]. |
tr | 1.9 | Option added: |
-c complements the |
-c complements the set of |
uudecode | 1.9 | Option added: |
No effect | No effect |
uuencode | 1.9 | Option added: |
No effect | No effect |