"brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes: >> > + if type -p getconf >/dev/null 2>&1; then >> > + _GLIBC_VERSION="$(getconf GNU_LIBC_VERSION 2>/dev/null | awk '{ print $2 }')" >> > + if [ -n "$_GLIBC_VERSION" -a $(expr "$_GLIBC_VERSION" \>= "2.34") ]; then >> > + _HAVE_GLIBC_234="yes" >> > + fi >> > + fi >> >> Style. We prefer "test ..." over "[ ... ]" and more importantly we >> don't use "test X -a Y". >> >> Do we absolutely need "test -p getconf" with an extra indentation? >> I suspect we don't. > > getconf is specified by POSIX, but that doesn't mean it's in the default > install or in PATH on all systems. However, we should write "command -v > getconf" instead if we need to check, since that's the POSIX way to > write it, and "type" is not guaranteed to be present on all systems. My point was that the code relies on having getconf on PATH anyway, so it is sufficient to attempt running getconf and using its output after checking it begins with "glibc". Missing getconf or getconf that is different from what we expect it to be would be rejected by the same code, without needing the above nested if .. if .. fi .. fi