In /usr/bin/mstfwreset line 2: EXEC_PATH=`readlink -f $0` ^--------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: EXEC_PATH=$(readlink -f "$0") In /usr/bin/mstfwreset line 3: EXEC_NAME=`basename $EXEC_PATH` ^-------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: EXEC_NAME=$(basename "$EXEC_PATH") In /usr/bin/mstfwreset line 4: EXEC_DIR=`dirname $EXEC_PATH` ^------^ SC2034: EXEC_DIR appears unused. Verify use (or export if used externally). ^------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: EXEC_DIR=$(dirname "$EXEC_PATH") In /usr/bin/mstfwreset line 24: PYTHON_EXEC=`find /usr/bin /bin/ /usr/local/bin -iname 'python*' 2>&1 | grep -e='*python[0-9,.]*' | sort -d | head -n 1` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: PYTHON_EXEC=$(find /usr/bin /bin/ /usr/local/bin -iname 'python*' 2>&1 | grep -e='*python[0-9,.]*' | sort -d | head -n 1) In /usr/bin/mstfwreset line 35: exec $PYTHON_EXEC $MSTFLINT_PYTHON_TOOLS/$EXEC_NAME/${EXEC_NAME}.py "$@" ^----------^ SC2086: Double quote to prevent globbing and word splitting. ^--------^ SC2086: Double quote to prevent globbing and word splitting. ^----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: exec "$PYTHON_EXEC" $MSTFLINT_PYTHON_TOOLS/"$EXEC_NAME"/"${EXEC_NAME}".py "$@" For more information: https://www.shellcheck.net/wiki/SC2034 -- EXEC_DIR appears unused. Verify u... https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... https://www.shellcheck.net/wiki/SC2006 -- Use $(...) notation instead of le...