In /usr/bin/debrsign line 35: PROGNAME=`basename $0` ^-----------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: PROGNAME=$(basename "$0") In /usr/bin/debrsign line 78: echo " $@" ^-- SC2145: Argument mixes string and array. Use * or separate argument. In /usr/bin/debrsign line 89: umask `perl -e 'printf "%03o\n", umask | 022'` ^-- SC2046: Quote this to prevent word splitting. ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: umask $(perl -e 'printf "%03o\n", umask | 022') In /usr/bin/debrsign line 91: eval $( ^-- SC2046: Quote this to prevent word splitting. In /usr/bin/debrsign line 97: [ -r $file ] && . $file ^---^ SC1090: Can't follow non-constant source. Use a directive to specify location. In /usr/bin/debrsign line 100: set | egrep '^DEBRSIGN_') ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead. In /usr/bin/debrsign line 105: value="`echo x\"$1\" | sed -e 's/^x-.//'`" ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: value="$(echo x\"$1\" | sed -e 's/^x-.//')" In /usr/bin/debrsign line 133: dsc=`echo $changes | \ ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: dsc=$(echo "$changes" | \ perl -pe 's/\.changes$/.dsc/; s/(.*)_(.*)_(.*)\.dsc/\1_\2.dsc/') In /usr/bin/debrsign line 135: buildinfo=`echo $changes | \ ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: buildinfo=$(echo "$changes" | \ perl -pe 's/\.changes$/.buildinfo/; s/(.*)_(.*)_(.*)\.buildinfo/\1_\2_\3.buildinfo/') In /usr/bin/debrsign line 161: mustsetvar package "`dpkg-parsechangelog -SSource`" "source package" ^----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: mustsetvar package "$(dpkg-parsechangelog -SSource)" "source package" In /usr/bin/debrsign line 162: mustsetvar version "`dpkg-parsechangelog -SVersion`" "source version" ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: mustsetvar version "$(dpkg-parsechangelog -SVersion)" "source version" In /usr/bin/debrsign line 179: sversion=`echo "$version" | perl -pe 's/^\d+://'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2154: version is referenced but not assigned (did you mean 'sversion'?). Did you mean: sversion=$(echo "$version" | perl -pe 's/^\d+://') In /usr/bin/debrsign line 180: pv="${package}_${sversion}" ^--------^ SC2154: package is referenced but not assigned. In /usr/bin/debrsign line 185: if [ -n "$multiarch" -o ! -r $changes ]; then ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if [ -n "$multiarch" -o ! -r "$changes" ]; then In /usr/bin/debrsign line 186: changes=$(ls "../${package}_${sversion}_*+*.changes" "../${package}_${sversion}_multi.changes" 2>/dev/null | head -1) ^-- SC2012: Use find instead of ls to better handle non-alphanumeric filenames. In /usr/bin/debrsign line 196: elif [ -n "$multiarch" -a -z "$changes" ]; then ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. In /usr/bin/debrsign line 215: base["$changes"]=`basename "$changes"` ^-------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: base["$changes"]=$(basename "$changes") In /usr/bin/debrsign line 216: base["$dsc"]=`basename "$dsc"` ^---------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: base["$dsc"]=$(basename "$dsc") In /usr/bin/debrsign line 217: base["$buildinfo"]=`basename "$buildinfo"` ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: base["$buildinfo"]=$(basename "$buildinfo") In /usr/bin/debrsign line 221: if [ ! -f "$changes" -o ! -r "$changes" ] ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. In /usr/bin/debrsign line 230: if [ ! -f "$dsc" -o ! -r "$dsc" ] ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. In /usr/bin/debrsign line 241: if [ ! -f "$buildinfo" -o ! -r "$buildinfo" ] ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. In /usr/bin/debrsign line 256: withecho ssh "$remotehost" "rm -f ${base[@]}" ^--------^ SC2145: Argument mixes string and array. Use * or separate argument. In /usr/bin/debrsign line 260: if [ ! -f "$dsc" -o ! -r "$dsc" ] ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. In /usr/bin/debrsign line 267: withecho ssh -t "$remotehost" "${DEBRSIGN_PGP_PATH}debsign $signargs $dscbase" ^------^ SC2154: dscbase is referenced but not assigned. For more information: https://www.shellcheck.net/wiki/SC2145 -- Argument mixes string and array. ... https://www.shellcheck.net/wiki/SC1090 -- Can't follow non-constant source.... https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...