In /usr/bin/eqn2graph line 68: if ! tmp=`(umask 077 && mktemp -d -q "$d/eqn2graph-XXXXXX") 2> /dev/null` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: if ! tmp=$((umask 077 && mktemp -d -q "$d/eqn2graph-XXXXXX") 2> /dev/null) In /usr/bin/eqn2graph line 87: is_convert_recent=`convert -help | grep -e -trim` ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: is_convert_recent=$(convert -help | grep -e -trim) In /usr/bin/eqn2graph line 94: trap 'exit_status=$?; rm -rf "$tmp" && exit $exit_status' EXIT INT TERM ^-- SC2154: exit_status is referenced but not assigned. In /usr/bin/eqn2graph line 101: read equation ^--^ SC2162: read without -r will mangle backslashes. In /usr/bin/eqn2graph line 104: && convert $convert_trim_arg $convert_opts "$tmp"/eqn2graph.ps \ ^---------------^ SC2086: Double quote to prevent globbing and word splitting. ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: && convert "$convert_trim_arg" "$convert_opts" "$tmp"/eqn2graph.ps \ In /usr/bin/eqn2graph line 105: "$tmp"/eqn2graph.$format \ ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: "$tmp"/eqn2graph."$format" \ In /usr/bin/eqn2graph line 106: && cat "$tmp"/eqn2graph.$format ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: && cat "$tmp"/eqn2graph."$format" For more information: https://www.shellcheck.net/wiki/SC2154 -- exit_status is referenced but not... https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... https://www.shellcheck.net/wiki/SC2162 -- read without -r will mangle backs...