In /usr/bin/bison.yacc line 41: && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ ^--^ SC2030: Modification of PATH is local (to subshell caused by (..) group). ^---^ SC2034: FPATH appears unused. Verify use (or export if used externally). In /usr/bin/bison.yacc line 46: for dir in $PATH; do ^---^ SC2031: PATH was modified in a subshell. That change might be lost. In /usr/bin/bison.yacc line 49: for exec_ext in ''; do ^-- SC2041: This is a literal string. To run as a command, use $(..) instead of '..' . In /usr/bin/bison.yacc line 62: *) curr_executable=`pwd`/"$curr_executable" ;; ^---^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: *) curr_executable=$(pwd)/"$curr_executable" ;; In /usr/bin/bison.yacc line 68: lsline=`LC_ALL=C ls -l "$curr_executable"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: lsline=$(LC_ALL=C ls -l "$curr_executable") In /usr/bin/bison.yacc line 71: linkdest=`echo "$lsline" | sed -n -e "$sed_linkdest"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: linkdest=$(echo "$lsline" | sed -n -e "$sed_linkdest") In /usr/bin/bison.yacc line 74: *) curr_executable=`echo "$curr_executable" | sed -e "$sed_dirname"`/"$linkdest" ;; ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: *) curr_executable=$(echo "$curr_executable" | sed -e "$sed_dirname")/"$linkdest" ;; In /usr/bin/bison.yacc line 79: curr_installdir=`echo "$curr_executable" | sed -e 's,/[^/]*$,,'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: curr_installdir=$(echo "$curr_executable" | sed -e 's,/[^/]*$,,') In /usr/bin/bison.yacc line 81: curr_installdir=`cd "$curr_installdir" && pwd` ^----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: curr_installdir=$(cd "$curr_installdir" && pwd) In /usr/bin/bison.yacc line 90: orig_last=`echo "$orig_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: orig_last=$(echo "$orig_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p') In /usr/bin/bison.yacc line 91: curr_last=`echo "$curr_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: curr_last=$(echo "$curr_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p') In /usr/bin/bison.yacc line 98: orig_installprefix=`echo "$orig_installprefix" | sed -e 's,/[^/]*$,,'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: orig_installprefix=$(echo "$orig_installprefix" | sed -e 's,/[^/]*$,,') In /usr/bin/bison.yacc line 99: curr_installprefix=`echo "$curr_installprefix" | sed -e 's,/[^/]*$,,'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: curr_installprefix=$(echo "$curr_installprefix" | sed -e 's,/[^/]*$,,') In /usr/bin/bison.yacc line 122: bindir=`relocate "${exec_prefix}/bin"` ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: bindir=$(relocate "${exec_prefix}/bin") For more information: https://www.shellcheck.net/wiki/SC2034 -- FPATH appears unused. Verify use ... https://www.shellcheck.net/wiki/SC2041 -- This is a literal string. To run ... https://www.shellcheck.net/wiki/SC2030 -- Modification of PATH is local (to...