In /usr/bin/bashbug line 42: : ${TMPDIR:=/tmp} ^-------------^ SC2223: This default assignment may cause DoS due to globbing. Quote it. In /usr/bin/bashbug line 57: do_help= do_version= ^-- SC1007: Remove space after = if trying to assign a value (for empty string, use var='' ... ). In /usr/bin/bashbug line 96: N=`echo 'hi there\c'` ^-----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^-----------------^ SC2116: Useless echo? Instead of 'cmd $(echo foo)', just use 'cmd foo'. Did you mean: N=$(echo 'hi there\c') In /usr/bin/bashbug line 99: *) n= c='\c' ;; ^-- SC1007: Remove space after = if trying to assign a value (for empty string, use var='' ... ). In /usr/bin/bashbug line 113: echo $n "$0: Send to bash-testers? $c" ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: echo "$n" "$0: Send to bash-testers? $c" In /usr/bin/bashbug line 114: read ans ^--^ SC2162: read without -r will mangle backslashes. In /usr/bin/bashbug line 142: DEFEDITOR=vi ^-------^ SC2209: Use var=$(command) to assign output (or quote to assign string). In /usr/bin/bashbug line 145: DEFEDITOR=vi ^-------^ SC2209: Use var=$(command) to assign output (or quote to assign string). In /usr/bin/bashbug line 150: : ${EDITOR=$DEFEDITOR} ^------------------^ SC2223: This default assignment may cause DoS due to globbing. Quote it. In /usr/bin/bashbug line 152: : ${USER=${LOGNAME-`whoami`}} ^-------------------------^ SC2223: This default assignment may cause DoS due to globbing. Quote it. ^------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: : ${USER=${LOGNAME-$(whoami)}} In /usr/bin/bashbug line 154: trap 'rm -rf "$TEMPDIR"; exit 1' 1 2 3 13 15 ^-- SC2172: Trapping signals by number is not well defined. Prefer signal names. In /usr/bin/bashbug line 159: UN=`uname -a` ^--------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: UN=$(uname -a) In /usr/bin/bashbug line 219: echo $n "$0: Do you want to give up? $c" ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: echo "$n" "$0: Do you want to give up? $c" In /usr/bin/bashbug line 221: read ans ^--^ SC2162: read without -r will mangle backslashes. In /usr/bin/bashbug line 230: CURR_SUB=`grep '^Subject: ' "$TEMPFILE1" | sed 's|^Subject:[ ]*||' | sed 1q` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: CURR_SUB=$(grep '^Subject: ' "$TEMPFILE1" | sed 's|^Subject:[ ]*||' | sed 1q) In /usr/bin/bashbug line 239: echo $n "$0: Do you want to give up? $c" ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: echo "$n" "$0: Do you want to give up? $c" In /usr/bin/bashbug line 241: read ans ^--^ SC2162: read without -r will mangle backslashes. In /usr/bin/bashbug line 262: echo $n "Send bug report to ${BUGADDR}? [y/n] $c" ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: echo "$n" "Send bug report to ${BUGADDR}? [y/n] $c" In /usr/bin/bashbug line 263: read ans ^--^ SC2162: read without -r will mangle backslashes. In /usr/bin/bashbug line 268: ${RMAIL} $SMARGS < "$TEMPFILE1" || { ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: ${RMAIL} "$SMARGS" < "$TEMPFILE1" || { In /usr/bin/bashbug line 269: cat "$TEMPFILE1" >> $HOME/dead.bashbug ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cat "$TEMPFILE1" >> "$HOME"/dead.bashbug For more information: https://www.shellcheck.net/wiki/SC1007 -- Remove space after = if trying to... https://www.shellcheck.net/wiki/SC2172 -- Trapping signals by number is not... https://www.shellcheck.net/wiki/SC2209 -- Use var=$(command) to assign outp...