In /usr/bin/R line 6: case "linux-gnu" in ^---------^ SC2194: This word is constant. Did you forget the $ on a variable? In /usr/bin/R line 8: run_arch=`uname -m` ^--------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: run_arch=$(uname -m) In /usr/bin/R line 46: : ${R_ARCH=} ^--------^ SC2223: This default assignment may cause DoS due to globbing. Quote it. In /usr/bin/R line 142: . "${R_HOME}/etc${R_ARCH}/ldpaths" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In /usr/bin/R line 145: if test -n "`echo ${2} | ${SED} 's/^-.*//'`"; then ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if test -n "$(echo "${2}" | ${SED} 's/^-.*//')"; then In /usr/bin/R line 154: gui=`echo "${1}" | ${SED} -e 's/[^=]*=//'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: gui=$(echo "${1}" | ${SED} -e 's/[^=]*=//') In /usr/bin/R line 158: if test -n "`echo ${2} | ${SED} 's/^-.*//'`"; then ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if test -n "$(echo "${2}" | ${SED} 's/^-.*//')"; then In /usr/bin/R line 165: debugger=`echo "${1}" | ${SED} -e 's/[^=]*=//'` ;; ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: debugger=$(echo "${1}" | ${SED} -e 's/[^=]*=//') ;; In /usr/bin/R line 167: debugger_args=`echo "${1}" | ${SED} -e 's/[^=]*=//'` ;; ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: debugger_args=$(echo "${1}" | ${SED} -e 's/[^=]*=//') ;; In /usr/bin/R line 173: if test -n "`echo ${2} | ${SED} 's/^-.*//'`"; then ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if test -n "$(echo "${2}" | ${SED} 's/^-.*//')"; then In /usr/bin/R line 180: if ! test -d ${R_HOME}/etc${R_ARCH}; then ^-------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if ! test -d ${R_HOME}/etc"${R_ARCH}"; then In /usr/bin/R line 185: r_arch=`echo "${1}" | ${SED} -e 's/[^=]*=//'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: r_arch=$(echo "${1}" | ${SED} -e 's/[^=]*=//') In /usr/bin/R line 188: if ! test -d ${R_HOME}/etc${R_ARCH}; then ^-------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if ! test -d ${R_HOME}/etc"${R_ARCH}"; then In /usr/bin/R line 193: if test -n "`echo ${2} | ${SED} 's/^-.*//'`"; then ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if test -n "$(echo "${2}" | ${SED} 's/^-.*//')"; then In /usr/bin/R line 194: a=`(echo "${2}" && echo) | ${SED} -e 's/ /~+~/g' | \ ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: a=$((echo "${2}" && echo) | ${SED} -e 's/ /~+~/g' | \ ${SED} -e :a -e N -e '$!ba' -e 's/\n/~n~/g' -e 's/~n~$//g') In /usr/bin/R line 203: if test -n "`echo ${2} | ${SED} 's/^-.*//'`"; then ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if test -n "$(echo "${2}" | ${SED} 's/^-.*//')"; then In /usr/bin/R line 204: a=`echo "${2}" | ${SED} -e 's/ /~+~/g'`; shift ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: a=$(echo "${2}" | ${SED} -e 's/ /~+~/g'); shift In /usr/bin/R line 211: a=`echo "${1}" | ${SED} -e 's/[^=]*=//' | ${SED} -e 's/ /~+~/g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: a=$(echo "${1}" | ${SED} -e 's/[^=]*=//' | ${SED} -e 's/ /~+~/g') In /usr/bin/R line 248: . "${R_HOME}/etc${R_ARCH}/ldpaths" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In /usr/bin/R line 271: exec "${R_binary}" ${args} "${@}" ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: exec "${R_binary}" "${args}" "${@}" In /usr/bin/R line 279: case "`${debugger} --version 2>/dev/null`" in ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: case "$(${debugger} --version 2>/dev/null)" in In /usr/bin/R line 292: args=`expr "${args} ${*}" : " *\(.*\)"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: args=$(expr "${args} ${*}" : " *\(.*\)") In /usr/bin/R line 296: exec ${debugger} ${debugger_args} "${R_binary}" ^---------^ SC2086: Double quote to prevent globbing and word splitting. ^--------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: exec "${debugger}" "${debugger_args}" "${R_binary}" In /usr/bin/R line 298: exec ${debugger} ${debugger_args} "${R_binary}" ${args} "${@}" ^---------^ 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 "${debugger}" "${debugger_args}" "${R_binary}" "${args}" "${@}" For more information: https://www.shellcheck.net/wiki/SC1090 -- Can't follow non-constant source.... https://www.shellcheck.net/wiki/SC2194 -- This word is constant. Did you fo... https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...