In /usr/bin/debsign line 27:
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/debsign line 81:
                    within a source tree (default "..")
                                                   ^-- SC2140: Word is of the form "A"B"C" (B indicated). Did you mean "ABC" or "A\"B\"C"?


In /usr/bin/debsign line 104:
    local filename
    ^------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 107:
	filename=`mktemp -t "$(basename "$1").$2.XXXXXXXXXX"` || {
                 ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
	filename=$(mktemp -t "$(basename "$1").$2.XXXXXXXXXX") || {


In /usr/bin/debsign line 164:
    local type="$1"
    ^--------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 165:
    local file="$2"
    ^--------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 166:
    local signas="$3"
    ^----------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 167:
    local savestty=$(stty -g 2>/dev/null) || true
    ^------------^ SC2039: In POSIX sh, 'local' is undefined.
          ^------^ SC2155: Declare and assign separately to avoid masking return values.


In /usr/bin/debsign line 173:
    gpgversion=`$signcommand --version | head -n 1 | cut -d' ' -f3`
               ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    gpgversion=$($signcommand --version | head -n 1 | cut -d' ' -f3)


In /usr/bin/debsign line 174:
    gpgmajorversion=`echo $gpgversion | cut -d. -f1`
                    ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                          ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    gpgmajorversion=$(echo "$gpgversion" | cut -d. -f1)


In /usr/bin/debsign line 175:
    gpgminorversion=`echo $gpgversion | cut -d. -f2`
                    ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                          ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    gpgminorversion=$(echo "$gpgversion" | cut -d. -f2)


In /usr/bin/debsign line 177:
    if [ $gpgmajorversion -gt 1 -o $gpgminorversion -ge 4 ]
         ^--------------^ SC2086: Double quote to prevent globbing and word splitting.
                                ^-- 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 [ "$gpgmajorversion" -gt 1 -o "$gpgminorversion" -ge 4 ]


In /usr/bin/debsign line 185:
	      stty $savestty 2>/dev/null || true
                   ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
	      stty "$savestty" 2>/dev/null || true


In /usr/bin/debsign line 195:
	      stty $savestty 2>/dev/null || true
                   ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
	      stty "$savestty" 2>/dev/null || true


In /usr/bin/debsign line 199:
    stty $savestty 2>/dev/null || true
         ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    stty "$savestty" 2>/dev/null || true


In /usr/bin/debsign line 201:
    PRECIOUS_FILES=$(($PRECIOUS_FILES + 1))
                      ^-------------^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/debsign line 208:
    echo " $@"
           ^-- SC2145: Argument mixes string and array. Use * or separate argument.


In /usr/bin/debsign line 231:
    local resign
    ^----------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 239:
	    printf "The .$2 file is already signed.\nWould you like to use the current signature? [Yn]"
                   ^-- SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo".


In /usr/bin/debsign line 240:
	    read response
            ^--^ SC2162: read without -r will mangle backslashes.


In /usr/bin/debsign line 261:
DEFAULT_DEBSIGN_ALWAYS_RESIGN=
^---------------------------^ SC2034: DEFAULT_DEBSIGN_ALWAYS_RESIGN appears unused. Verify use (or export if used externally).


In /usr/bin/debsign line 262:
DEFAULT_DEBSIGN_PROGRAM=
^---------------------^ SC2034: DEFAULT_DEBSIGN_PROGRAM appears unused. Verify use (or export if used externally).


In /usr/bin/debsign line 263:
DEFAULT_DEBSIGN_MAINT=
^-------------------^ SC2034: DEFAULT_DEBSIGN_MAINT appears unused. Verify use (or export if used externally).


In /usr/bin/debsign line 264:
DEFAULT_DEBSIGN_KEYID=
^-------------------^ SC2034: DEFAULT_DEBSIGN_KEYID appears unused. Verify use (or export if used externally).


In /usr/bin/debsign line 265:
DEFAULT_DEBRELEASE_DEBS_DIR=..
^-------------------------^ SC2034: DEFAULT_DEBRELEASE_DEBS_DIR appears unused. Verify use (or export if used externally).


In /usr/bin/debsign line 269:
if [ "$1" = "--no-conf" -o "$1" = "--noconf" ]; then
                        ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/debsign line 281:
    eval $(
         ^-- SC2046: Quote this to prevent word splitting.


In /usr/bin/debsign line 289:
	  [ -r $file ] && . $file
                            ^---^ SC1090: Can't follow non-constant source. Use a directive to specify location.


In /usr/bin/debsign line 292:
	set | egrep '^(DEBSIGN|DEBRELEASE|DEVSCRIPTS)_')
              ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.


In /usr/bin/debsign line 354:
		if [ -n "$filepart" -a "$filepart" != "$remotehost" ]; then
                                    ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.


In /usr/bin/debsign line 393:
    local remotehost="$1"
    ^--------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 394:
    local remotefile="$2"
    ^--------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 395:
    local file="$3"
    ^--------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 396:
    local type="$4"
    ^--------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 405:
    if [ ! -f "$file" -o ! -r "$file" ]
                      ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/debsign line 413:
    local filter_out="$1"
    ^--------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 414:
    local childtype="$2"
    ^-------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 415:
    local parenttype="$3"
    ^--------------^ SC2039: In POSIX sh, 'local' is undefined.
          ^--------^ SC2034: parenttype appears unused. Verify use (or export if used externally).


In /usr/bin/debsign line 416:
    local child="$4"
    ^---------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 417:
    local parent="$5"
    ^----------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 423:
    local md5=$(md5sum "$child" | cut -d' ' -f1)
    ^-------^ SC2039: In POSIX sh, 'local' is undefined.
          ^-^ SC2155: Declare and assign separately to avoid masking return values.


In /usr/bin/debsign line 424:
    local sha1=$(sha1sum "$child" | cut -d' ' -f1)
    ^--------^ SC2039: In POSIX sh, 'local' is undefined.
          ^--^ SC2155: Declare and assign separately to avoid masking return values.


In /usr/bin/debsign line 425:
    local sha256=$(sha256sum "$child" | cut -d' ' -f1)
    ^----------^ SC2039: In POSIX sh, 'local' is undefined.
          ^----^ SC2155: Declare and assign separately to avoid masking return values.


In /usr/bin/debsign line 474:
    fixup_control '($major != 0 or $minor > 2) and ($major != 1 or $minor > 0)' dsc buildinfo "$@"
                  ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/debsign line 478:
    local childtype="$1"
    ^-------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 480:
    fixup_control '$major!=1 or $minor > 8 or $minor < 7' $childtype changes "$@"
                  ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.
                                                          ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    fixup_control '$major!=1 or $minor > 8 or $minor < 7' "$childtype" changes "$@"


In /usr/bin/debsign line 484:
    local filetype="$1"
    ^------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 485:
    local mainfile="$2"
    ^------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 487:
    local temp_file="$(temp_filename "$mainfile" "temp")"
    ^-------------^ SC2039: In POSIX sh, 'local' is undefined.
          ^-------^ SC2155: Declare and assign separately to avoid masking return values.


In /usr/bin/debsign line 492:
	    echo " $@" "$mainfile" >&2
                   ^-- SC2145: Argument mixes string and array. Use * or separate argument.


In /usr/bin/debsign line 506:
    else maintainer=`sed -n 's/^Changed-By: //p' $1`
                    ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                                 ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    else maintainer=$(sed -n 's/^Changed-By: //p' "$1")


In /usr/bin/debsign line 509:
    then maintainer=`sed -n 's/^Maintainer: //p' $1`
                    ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                                 ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    then maintainer=$(sed -n 's/^Maintainer: //p' "$1")


In /usr/bin/debsign line 516:
    local signas="$1"
    ^----------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 517:
    local remotehost="$2"
    ^--------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 518:
    local dsc="$3"
    ^-------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 529:
	withecho scp "$dsc" "$remotehost:$remotedir"
                                         ^--------^ SC2154: remotedir is referenced but not assigned (did you mean 'remotedsc'?).


In /usr/bin/debsign line 530:
	PRECIOUS_FILES=$(($PRECIOUS_FILES - 1))
                          ^-------------^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/debsign line 535:
    local signas="$1"
    ^----------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 536:
    local remotehost="$2"
    ^--------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 537:
    local buildinfo="$3"
    ^-------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 538:
    local dsc="$4"
    ^-------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 555:
	PRECIOUS_FILES=$(($PRECIOUS_FILES - 1))
                          ^-------------^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/debsign line 560:
    local signas="$1"
    ^----------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 561:
    local remotehost="$2"
    ^--------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 562:
    local changes="$3"
    ^-----------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 563:
    local buildinfo="$4"
    ^-------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 564:
    local dsc="$5"
    ^-------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 592:
	PRECIOUS_FILES=$(($PRECIOUS_FILES - 1))
                          ^-------------^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/debsign line 615:
	changes=`basename "$changes"`
                ^-------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
	changes=$(basename "$changes")


In /usr/bin/debsign line 616:
	buildinfo=`basename "$buildinfo"`
                  ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
	buildinfo=$(basename "$buildinfo")


In /usr/bin/debsign line 617:
	dsc=`basename "$dsc"`
            ^---------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
	dsc=$(basename "$dsc")


In /usr/bin/debsign line 618:
	commands=`basename "$commands"`
                 ^--------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
	commands=$(basename "$commands")


In /usr/bin/debsign line 628:
	if [ -n "$changes" ] && echo "$changes" | egrep -q '[][*?]'
                                                  ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.


In /usr/bin/debsign line 676:
              }' $commands || {
                 ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
              }' "$commands" || {


In /usr/bin/debsign line 685:
            maintainer=`sed -n 's/^Uploader: //p' $commands`
                       ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                                  ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            maintainer=$(sed -n 's/^Uploader: //p' "$commands")


In /usr/bin/debsign line 700:
	    PRECIOUS_FILES=$(($PRECIOUS_FILES - 1))
                              ^-------------^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/debsign line 746:
    local base="$1"
    ^--------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 747:
    local ext="$2"
    ^-------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 749:
    local fname dir
    ^-------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 761:
    local path="$1"
    ^--------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 762:
    local varname="$2"
    ^-----------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 764:
    local d
    ^-----^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/debsign line 796:
	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/debsign line 797:
	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/debsign line 814:
	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/debsign line 815:
	pva="${package}_${sversion}_${arch}"
             ^--------^ SC2154: package is referenced but not assigned.


In /usr/bin/debsign line 817:
	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/debsign line 818:
	    changes=$(ls "$debsdir/${package}_${sversion}_*+*.changes" "$debsdir/${package}_${sversion}_multi.changes" 2>/dev/null | head -1)
                      ^-- SC2012: Use find instead of ls to better handle non-alphanumeric filenames.


In /usr/bin/debsign line 829:
	    elif [ -n "$multiarch" -a -z "$changes" ]; then
                                   ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.

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/SC2034 -- DEFAULT_DEBRELEASE_DEBS_DIR appea...