In /usr/bin/catchsegv line 54: segv_output=`mktemp ${TMPDIR:-/tmp}/segv_output.XXXXXX` || exit ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: segv_output=$(mktemp "${TMPDIR:-/tmp}"/segv_output.XXXXXX) || exit In /usr/bin/catchsegv line 89: (while read line; do ^--^ SC2162: read without -r will mangle backslashes. In /usr/bin/catchsegv line 90: line=`echo $line | sed "s@^$prog\\(\\[.*\\)@\1@"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: line=$(echo "$line" | sed "s@^$prog\\(\\[.*\\)@\1@") In /usr/bin/catchsegv line 92: \[*) addr=`echo "$line" | sed 's/^\[\(.*\)\]$/\1/'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: \[*) addr=$(echo "$line" | sed 's/^\[\(.*\)\]$/\1/') In /usr/bin/catchsegv line 93: complete=`addr2line -f -e "$prog" $addr 2>/dev/null` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: complete=$(addr2line -f -e "$prog" "$addr" 2>/dev/null) In /usr/bin/catchsegv line 95: echo "`echo "$complete"|sed 'N;s/\(.*\)\n\(.*\)/\2(\1)/;'`$line" ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: echo "$(echo "$complete"|sed 'N;s/\(.*\)\n\(.*\)/\2(\1)/;')$line" For more information: https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... https://www.shellcheck.net/wiki/SC2162 -- read without -r will mangle backs... https://www.shellcheck.net/wiki/SC2006 -- Use $(...) notation instead of le...