In the second synopsis form, getconf will write to the standard output the value of the variable specified by path_var for the path specified by pathname.
The value of each configuration variable will be determined 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.
LINK_MAX | NAME_MAX | POSIX_CHOWN_RESTRICTED |
MAX_CANON | PATH_MAX | POSIX_NO_TRUNC |
MAX_INPUT | PIPE_BUF | POSIX_VDISABLE |
ARG_MAX | OPEN_MAX | _POSIX_PIPE_BUF |
BC_BASE_MAX | POSIX2_BC_BASE_MAX | _POSIX_SAVED_IDS |
BC_DIM_MAX | POSIX2_BC_DIM_MAX | _POSIX_SSIZE_MAX |
BC_SCALE_MAX | POSIX2_BC_SCALE_MAX | _POSIX_STREAM_MAX |
BC_STRING_MAX | POSIX2_BC_STRING_MAX | _POSIX_TZNAME_MAX |
CHARCLASS_NAME_MAX | POSIX2_CHAR_TERM | _POSIX_VERSION |
CHAR_BIT | POSIX2_COLL_WEIGHTS_MAX | RE_DUP_MAX |
CHAR_MAX | POSIX2_C_BIND | SCHAR_MAX |
CHAR_MIN | POSIX2_C_DEV | SCHAR_MIN |
CHILD_MAX | POSIX2_C_VERSION | SHRT_MAX |
CLK_TCK | POSIX2_EXPR_NEST_MAX | SHRT_MIN |
COLL_WEIGHTS_MAX | POSIX2_FORT_DEV | SSIZE_MAX |
CS_PATH | POSIX2_FORT_RUN | STREAM_MAX |
EXPR_NEST_MAX | POSIX2_LINE_MAX | TMP_MAX |
INT_MAX | POSIX2_LOCALEDEF | TZNAME_MAX |
INT_MIN | POSIX2_RE_DUP_MAX | UCHAR_MAX |
LINE_MAX | POSIX2_SW_DEV | UINT_MAX |
LONG_BIT | POSIX2_UPE | ULONG_MAX |
LONG_MAX | POSIX2_VERSION | USHRT_MAX |
LONG_MIN | _POSIX_ARG_MAX | WORD_BIT |
MB_LEN_MAX | _POSIX_CHILD_MAX | _XOPEN_CRYPT |
NGROUPS_MAX | _POSIX_JOB_CONTROL | _XOPEN_ENH_I18N |
NL_ARGMAX | _POSIX_LINK_MAX | _XOPEN_SHM |
NL_LANGMAX | _POSIX_MAX_CANON | _XOPEN_VERSION |
NL_MSGMAX | _POSIX_MAX_INPUT | _XOPEN_XCU_VERSION |
NL_NMAX | _POSIX_NAME_MAX | _XOPEN_XPG2 |
NL_SETMAX | _POSIX_NGROUPS_MAX | _XOPEN_XPG3 |
NL_TEXTMAX | _POSIX_OPEN_MAX | _XOPEN_XPG4 |
NZERO | _POSIX_PATH_MAX |
The symbol PATH also is recognized, yielding the same value as the confstr() name value CS_PATH.
getconf NGROUPS_MAX
This example illustrates the value of NAME_MAX for a specific directory:
getconf 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);
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.