manpagez: man pages & more
info coreutils
Home | html | info | man

File: coreutils.info,  Node: Standards conformance,  Next: Multi-call invocation,  Prev: Floating point,  Up: Common options

2.13 Standards conformance
==========================

In a few cases, the GNU utilities’ default behavior is incompatible with
the POSIX standard.  To suppress these incompatibilities, define the
‘POSIXLY_CORRECT’ environment variable.  Unless you are checking for
POSIX conformance, you probably do not need to define ‘POSIXLY_CORRECT’.

   Newer versions of POSIX are occasionally incompatible with older
versions.  For example, older versions of POSIX required the command
‘sort +1’ to sort based on the second and succeeding fields in each
input line, but in POSIX 1003.1-2001 the same command is required to
sort the file named ‘+1’, and you must instead use the command ‘sort -k
2’ to get the field-based sort.  To complicate things further, POSIX
1003.1-2008 allows an implementation to have either the old or the new
behavior.

   The GNU utilities normally conform to the version of POSIX that is
standard for your system.  To cause them to conform to a different
version of POSIX, define the ‘_POSIX2_VERSION’ environment variable to a
value of the form YYYYMM specifying the year and month the standard was
adopted.  Three values are currently supported for ‘_POSIX2_VERSION’:
‘199209’ stands for POSIX 1003.2-1992, ‘200112’ stands for POSIX
1003.1-2001, and ‘200809’ stands for POSIX 1003.1-2008.  For example, if
you have a POSIX 1003.1-2001 system but are running software containing
traditional usage like ‘sort +1’ or ‘tail +10’, you can work around the
compatibility problems by setting ‘_POSIX2_VERSION=200809’ in your
environment.

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.