In /usr/bin/autoopts-config line 73: for o in "$@" ; do ^-^ SC2167: This parent loop has its index variable overridden. In /usr/bin/autoopts-config line 74: o=`echo ${o} | sed 's,^-*,,;s/-/_/g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2001: See if you can use ${variable//search/replace} instead. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: o=$(echo "${o}" | sed 's,^-*,,;s/-/_/g') In /usr/bin/autoopts-config line 99: for o in ${optlist} ^-^ SC2165: This nested loop overrides the index variable of its parent. In /usr/bin/autoopts-config line 100: do test ${o} = everything && continue ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: do test "${o}" = everything && continue In /usr/bin/autoopts-config line 101: eval v=\"\${${o}}\" ^-- SC1083: This { is literal. Check expression (missing ;/\n?) or quote it. ^--^ SC2086: Double quote to prevent globbing and word splitting. ^-- SC1083: This } is literal. Check expression (missing ;/\n?) or quote it. Did you mean: eval v=\"\${"${o}"}\" In /usr/bin/autoopts-config line 102: test -z "${v}" && echo ${o} || \ ^--^ SC2154: v is referenced but not assigned. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test -z "${v}" && echo "${o}" || \ In /usr/bin/autoopts-config line 103: printf "%-12s $v\n" ${o} ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: printf "%-12s $v\n" "${o}" For more information: https://www.shellcheck.net/wiki/SC1083 -- This { is literal. Check expressi... https://www.shellcheck.net/wiki/SC2154 -- v is referenced but not assigned. https://www.shellcheck.net/wiki/SC2165 -- This nested loop overrides the in...