In the first synopsis form, the
getconf
utility will write to the standard output the value
of the variable specified by the
system_var
operand.
In the second synopsis form, the
getconf
utility will write to the standard output the value of the
variable specified by the
path_var
operand for the path specified by the
pathname
operand.
The value of each configuration variable will be determine
as if it were obtained by calling the function from which it
is defined to be available.
The value will reflect conditions in the current operating
environment.
path_var
is the name of a configuration variable whose value is available
from
pathconf
function.
The following values are supported (other local values):
LINK_MAN
NAME_MAX
POSIX_CHOWN_RESTRICTED
MAX_CANON
PATH_MAX
POSIX_NO_TRUNC
MAX_INPUT
PIPE_BUF
POSIX_VDISABLE
pathname
is the pathname for which the variable specified by
path_var
is to be determined.
system_var
is the name of a configuration variable whose value is
available from the
XSH
specification
confstr
or
sysconf
functions.
The following values are supported (other local values):
ARG_MAX
ATEXIT_MAX
BC_BASE_MAX
BC_DIM_MAX
BC_SCALE_MAX
BC_STRING_MAX
CHARCLASS_NAME_MAX
CHAR_BIT
CHAR_MAX
CHAR_MIN
CHILD_MAX
CLK_TCK
COLL_WEIGHTS_MAX
CS_PATH
EXPR_NEST_MAX
INT_MAX
INT_MIN
IOV_MAX
LINE_MAX
LONG_BIT
LONG_MAX
LONG_MIN
MB_LEN_MAX
MN_NMAX
NGROUPS_MAX
NL_ARGMAX
NL_LANGMAX
NL_MSGMAX
NL_SETMAX
NL_TEXTMAX
NZERO
OPEN_MAX
PAGESIZE
POSIX2_BC_BASE_MAX
POSIX2_BC_DIM_MAX
POSIX2_BC_SCALE_MAX
POSIX2_BC_STRING_MAX
POSIX2_BIND
POSIX2_CHAR_TERM
POSIX2_COLL_WEIGHTS_MAX
POSIX2_C_DEV
POSIX2_C_VERSION
POSIX2_EXPR_NEST_MAX
POSIX2_FORT_DEV
POSIX2_FORT_RUN
POSIX2_LINE_MAX
POSIX2_LOCALEDEF
POSIX2_RE_DUP_MAX
POSIX2_SW_DEV
POSIX2_UPE
POSIX2_VERSION
POSIX_ARG_MAX
POSIX_CHILD_MAX
POSIX_JOB_CONTROL
POSIX_LINK_MAX
POSIX_MAX_CANON
POSIX_MAX_INPUT
POSIX_NAME_MAX
POSIX_NGROUPS_MAX
POSIX_OPEN_MAX
POSIX_PATH_MAX
POSIX_PIPE_BUF
POSIX_SAVED_IDS
POSIX_SSIZE_MAX
POSIX_STREAM_MAX
POSIX_TZNAME_MAX
POSIX_VERSION
RE_DUP_MAX
SCHAR_MAX
SCHAR_MIN
SHRT_MAX
SHRT_MIN
SSIZE_MAX
STREAM_MAX
TMP_MAX
TZNAME_MAX
UCHAR_MAX
UINT_MAX
ULONG_MAX
USHRT_MAX
WORD_BIT
_XOPEN_CRYPT
_XOPEN_ENH_I18N
_XOPEN_SHM
_XOPEN_UNIX
_XOPEN_VERSION
_XOPEN_XCU_VERSION
_XOPEN_XPG2
_XOPEN_XPG3
_XOPEN_XPG4
The symbol
PATH
also is recognized, yielding the same value as the
confstr
name value
CS_PATH.
Environment variables
LANG
Provide a default value of the internationalization variables
that are unset or null. If
LANG
is unset or null, the corresponding value from the
implementation-specific default locale will be used.
If any of the internationalization variables contains an
invalid setting, the utility will behave as if none of the
variables had been defined.
LC_ALL
If set to a non-empty string value, override the values of all
the other internationalization variables.
LC_CTYPE
Determine the locale for the interpretation of sequences
of bytes of text data as characters (for example, single- as opposed
to multi-byte characters in arguments).
LC_MESSAGES
Determine the locale that should be used to affect the format
and contents of diagnostic messages written to standard error.
NLSPATH
Determine the location of message catalogues for the processing
of
LC_MESSAGES.
Output
If the specified variable is defined on the system and its
value is described to be available from the
XSH
specification
confstr
function, its value will be written in the following format:
"%s\n", <value>
Otherwise, if the specified variable is defined on the system,
its value will be written in the following format:
"%d\n", <value>
If the specified variable is valid, but is undefined on the system,
getconf
will write using the following format:
"undefined\n"
If the variable name is invalid or an error occurs, nothing will
be written to standard output.
Examples
This example illustrates the value of {NGROUPS_MAX}:
getconf NGROUPS_MAX
This example illustrates the value of {NAME_MAX} for a specific
directory:
getcon NAME_MAX /usr
This example shows how to deal more carefully with results
that might be unspecified:
if value=$(getconf PATH_MAX /usr); then
if ["$value" = "undefined"]; then
echo PATH_MAX in /usr is infinite.
else
echo PATH_MAX in /usr is $value.
fi
else
echo Error in getconf.
fi
Note that:
sysconf(_SC_POSIX_C_BIND);
and:
system("getconf POSIX2_C_BIND");
in a C program could give different answers.
The
sysconf
call supplies a value that corresponds to the conditions
when the program was either compiled or executed, depending
on the implementation; the
system
call to
getconf
always supplies a value corresponding to conditions when
the program is executed.