In /usr/bin/xdt-autogen line 30: XDT_AUTOGEN_VERSION_NANO="" ^----------------------^ SC2034: XDT_AUTOGEN_VERSION_NANO appears unused. Verify use (or export if used externally). In /usr/bin/xdt-autogen line 31: XDT_AUTOGEN_VERSION_REVISION="" ^--------------------------^ SC2034: XDT_AUTOGEN_VERSION_REVISION appears unused. Verify use (or export if used externally). In /usr/bin/xdt-autogen line 49: if type $a >/dev/null 2>&1; then ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: if type "$a" >/dev/null 2>&1; then In /usr/bin/xdt-autogen line 55: if ! type $AWK >/dev/null 2>/dev/null; then ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if ! type "$AWK" >/dev/null 2>/dev/null; then In /usr/bin/xdt-autogen line 71: test -f "$1" && cat "$1" | tr '\\n\\t\\\\' ' ' | sed -ne 's|.*AC_CONFIG_SUBDIRS(\[\{0,1\}\([[:alnum:]_ @/-]\{1,\}\).*|\1|p' ^--^ SC2002: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. ^-- SC1003: Want to escape a single quote? echo 'This is how it'\''s done'. In /usr/bin/xdt-autogen line 96: subdirs=`parse_configure_subdirs ${configure_ac_file}` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: subdirs=$(parse_configure_subdirs "${configure_ac_file}") In /usr/bin/xdt-autogen line 117: subdirs=`parse_configure_subdirs ${configure_ac_in_file}` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: subdirs=$(parse_configure_subdirs "${configure_ac_in_file}") In /usr/bin/xdt-autogen line 129: echo "`basename $0` $VERSION" ^-----------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: echo "$(basename "$0") $VERSION" In /usr/bin/xdt-autogen line 139: major=`echo $XDT_AUTOGEN_REQUIRED_VERSION | cut -d. -f1` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---------------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: major=$(echo "$XDT_AUTOGEN_REQUIRED_VERSION" | cut -d. -f1) In /usr/bin/xdt-autogen line 141: test $major -le $XDT_AUTOGEN_VERSION_MAJOR || return 1 ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test "$major" -le $XDT_AUTOGEN_VERSION_MAJOR || return 1 In /usr/bin/xdt-autogen line 142: test $XDT_AUTOGEN_VERSION_MAJOR -gt $major && return 0 ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test $XDT_AUTOGEN_VERSION_MAJOR -gt "$major" && return 0 In /usr/bin/xdt-autogen line 144: minor=`echo $XDT_AUTOGEN_REQUIRED_VERSION | cut -d. -f2` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---------------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: minor=$(echo "$XDT_AUTOGEN_REQUIRED_VERSION" | cut -d. -f2) In /usr/bin/xdt-autogen line 146: test $minor -le $XDT_AUTOGEN_VERSION_MINOR || return 1 ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test "$minor" -le $XDT_AUTOGEN_VERSION_MINOR || return 1 In /usr/bin/xdt-autogen line 147: test $XDT_AUTOGEN_VERSION_MINOR -gt $minor && return 0 ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test $XDT_AUTOGEN_VERSION_MINOR -gt "$minor" && return 0 In /usr/bin/xdt-autogen line 149: micro=`echo $XDT_AUTOGEN_REQUIRED_VERSION | cut -d. -f3` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---------------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: micro=$(echo "$XDT_AUTOGEN_REQUIRED_VERSION" | cut -d. -f3) In /usr/bin/xdt-autogen line 151: test $micro -le $XDT_AUTOGEN_VERSION_MICRO || return 1 ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test "$micro" -le $XDT_AUTOGEN_VERSION_MICRO || return 1 In /usr/bin/xdt-autogen line 152: test $XDT_AUTOGEN_VERSION_MICRO -gt $micro && return 0 ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test $XDT_AUTOGEN_VERSION_MICRO -gt "$micro" && return 0 In /usr/bin/xdt-autogen line 176: MASTER_DIR=`pwd`; test -z "${MASTER_DIR}" && MASTER_DIR="." ^---^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: MASTER_DIR=$(pwd); test -z "${MASTER_DIR}" && MASTER_DIR="." In /usr/bin/xdt-autogen line 181: CONFIGURE_AC_IN_FILES=`lookup_configure_ac_in_files "$MASTER_DIR"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: CONFIGURE_AC_IN_FILES=$(lookup_configure_ac_in_files "$MASTER_DIR") In /usr/bin/xdt-autogen line 183: configure_ac_file="`echo $configure_ac_in_file | sed -e 's:\.in$::'`" ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: configure_ac_file="$(echo "$configure_ac_in_file" | sed -e 's:\.in$::')" In /usr/bin/xdt-autogen line 187: revision=`git rev-parse --short HEAD` ^--------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: revision=$(git rev-parse --short HEAD) In /usr/bin/xdt-autogen line 195: conf_dir=`dirname $configure_ac_file` ^--------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^----------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: conf_dir=$(dirname "$configure_ac_file") In /usr/bin/xdt-autogen line 196: linguas=`cd "$conf_dir/po" 2>/dev/null && ls *.po 2>/dev/null | $AWK 'BEGIN { FS="."; ORS=" " } { print $1 }'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-----------------^ SC2012: Use find instead of ls to better handle non-alphanumeric filenames. ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options. ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that. Did you mean: linguas=$(cd "$conf_dir/po" 2>/dev/null && ls *.po 2>/dev/null | $AWK 'BEGIN { FS="."; ORS=" " } { print $1 }') In /usr/bin/xdt-autogen line 199: tmp=`basename ${configure_ac_in_file}` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: tmp=$(basename "${configure_ac_in_file}") In /usr/bin/xdt-autogen line 217: CONFIGURE_AC_FILES=`lookup_configure_ac_files "$MASTER_DIR"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: CONFIGURE_AC_FILES=$(lookup_configure_ac_files "$MASTER_DIR") In /usr/bin/xdt-autogen line 243: directory=`dirname ${configure_ac_file}` ^----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: directory=$(dirname "${configure_ac_file}") In /usr/bin/xdt-autogen line 246: (cd ${directory} ; ${MAKE} distclean) >/dev/null 2>&1 ^-------------^ SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. ^----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: (cd "${directory}" || exit ; ${MAKE} distclean) >/dev/null 2>&1 In /usr/bin/xdt-autogen line 251: output_files=`tr '\\n\\t\\\\' ' ' < ${configure_ac_file} | sed -ne 's|.*AC_OUTPUT(\[\{0,1\}\([[:alnum:]_@/\. -]\{1,\}\).*|\1|p'`; ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC1003: Want to escape a single quote? echo 'This is how it'\''s done'. ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: output_files=$(tr '\\n\\t\\\\' ' "' < ${configure_ac_f"ile} | sed -ne 's|.*AC_OUTPUT(\[\{0,1\}\([[:alnum:]_@/\. -]\{1,\}\).*|\1|p'); In /usr/bin/xdt-autogen line 253: if test x`basename $output_file` = x"Makefile"; then ^---------------------^ SC2046: Quote this to prevent word splitting. ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if test x$(basename "$output_file") = x"Makefile"; then In /usr/bin/xdt-autogen line 260: (cd ${directory} ; ^-------------^ SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. ^----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: (cd "${directory}" || exit ; In /usr/bin/xdt-autogen line 264: rm -f stamp-h1 *.spec ; ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options. In /usr/bin/xdt-autogen line 284: rm -f ${directory}/po/*.gmo; ^----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: rm -f "${directory}"/po/*.gmo; In /usr/bin/xdt-autogen line 389: directory=`dirname ${configure_ac_file}` ^----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: directory=$(dirname "${configure_ac_file}") In /usr/bin/xdt-autogen line 486: CONFIGURE_FLAGS="${XDT_CONFIGURE_FLAGS} $@" ^-------------------------^ SC2124: Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In /usr/bin/xdt-autogen line 493: for path in `echo "${XDG_DATA_DIRS}" | sed 's,:, ,g'`; do ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: for path in $(echo "${XDG_DATA_DIRS}" | sed 's,:, ,g'); do In /usr/bin/xdt-autogen line 507: source_dir=`dirname ${configure_ac_file}` ^----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: source_dir=$(dirname "${configure_ac_file}") In /usr/bin/xdt-autogen line 546: -e 's/^\(XGETTEXT[ ]*=[ ]*@XGETTEXT@\)[ ]*$/\1 $(XGETTEXT_ARGS)/' \ ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that. In /usr/bin/xdt-autogen line 547: -e 's/^\(MSGMERGE[ ]*=\)[ ]*\(INTLTOOL_EXTRACT=\)/\1 XGETTEXT_ARGS="$(XGETTEXT_ARGS)" \2/' \ ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that. In /usr/bin/xdt-autogen line 548: -e 's/^\(GENPOT[ ]*=\)[ ]*\(INTLTOOL_EXTRACT=\)/\1 XGETTEXT_ARGS="$(XGETTEXT_ARGS)" \2/' \ ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that. In /usr/bin/xdt-autogen line 568: cd ${source_dir} && ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cd "${source_dir}" && In /usr/bin/xdt-autogen line 573: cd ${source_dir} && ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cd "${source_dir}" && In /usr/bin/xdt-autogen line 574: ${XDT_PROG_ACLOCAL} ${ACLOCAL_FLAGS}) || exit 1 ^--------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: ${XDT_PROG_ACLOCAL} "${ACLOCAL_FLAGS}") || exit 1 In /usr/bin/xdt-autogen line 578: cd ${source_dir} && ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cd "${source_dir}" && In /usr/bin/xdt-autogen line 583: cd ${source_dir} && ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cd "${source_dir}" && In /usr/bin/xdt-autogen line 587: cd ${source_dir} && ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cd "${source_dir}" && In /usr/bin/xdt-autogen line 600: ./configure ${CONFIGURE_FLAGS} && ^----------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: ./configure "${CONFIGURE_FLAGS}" && For more information: https://www.shellcheck.net/wiki/SC2034 -- XDT_AUTOGEN_VERSION_NANO appears ... https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt... https://www.shellcheck.net/wiki/SC2124 -- Assigning an array to a string! A...