In /usr/bin/debmany line 30: curdir=`pwd` ^---^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: curdir=$(pwd) In /usr/bin/debmany line 48: errormsg $* ^-- SC2048: Use "$@" (with quotes) to prevent whitespace problems. ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: errormsg "$*" In /usr/bin/debmany line 55: test $debug && echo "$*" >&2 ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test "$debug" && echo "$*" >&2 In /usr/bin/debmany line 127: mancmd=($mancmdline) # get first word !dash ^---------^ SC2206: Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a. In /usr/bin/debmany line 128: if which $mancmd >/dev/null 2>&1 # is the manpageviewer(first word) executable? ^-----^ SC2128: Expanding an array without an index only gives the first element. ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if which "$mancmd" >/dev/null 2>&1 # is the manpageviewer(first word) executable? In /usr/bin/debmany line 132: usage "Manpageviewer '$mancmd' is not available or executable" ^-----^ SC2128: Expanding an array without an index only gives the first element. In /usr/bin/debmany line 134: othercmd=($othercmdline) # get first word !dash ^-----------^ SC2206: Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a. In /usr/bin/debmany line 135: if which $othercmd >/dev/null 2>&1 # is the manpageviewer executable? ^-------^ SC2128: Expanding an array without an index only gives the first element. ^-------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if which "$othercmd" >/dev/null 2>&1 # is the manpageviewer executable? In /usr/bin/debmany line 139: usage "Viewer for other data '$othercmd' is not available or executable" ^-------^ SC2128: Expanding an array without an index only gives the first element. In /usr/bin/debmany line 151: package=`$cmd --entry --title="Debmany $version" --text="Enter package or package.deb"` || exit 0 ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: package=$($cmd --entry --title="Debmany $version" --text="Enter package or package.deb") || exit 0 In /usr/bin/debmany line 158: read y x <<EOF ^--^ SC2162: read without -r will mangle backslashes. In /usr/bin/debmany line 159: `stty size` ^---------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: $(stty size) In /usr/bin/debmany line 172: if [ $x -lt 40 -o $y -lt 9 ] ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. In /usr/bin/debmany line 180: x=$(($x-1)) # width of the dialog ^-- SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 181: y=$(($y-1)) # height of the dialog ^-- SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 182: h=$(($y-7)) # height of the menu ^-- SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 192: file=`readlink -f "$package"` ^----------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: file=$(readlink -f "$package") In /usr/bin/debmany line 193: status=file ^----^ SC2209: Use var=$(command) to assign output (or quote to assign string). In /usr/bin/debmany line 206: for l in `echo "$lang"|sed -e "s/,/ /" -e "s/*/.*/"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: for l in $(echo "$lang"|sed -e "s/,/ /" -e "s/*/.*/") In /usr/bin/debmany line 213: for man in `dpkg -L "$package" 2>/dev/null|grep $mandirs|sort` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: for man in $(dpkg -L "$package" 2>/dev/null|grep "$mandirs"|sort) In /usr/bin/debmany line 216: test -f $man && manpages="$manpages $man ${man##*/}" ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: test -f "$man" && manpages="$manpages $man ${man##*/}" In /usr/bin/debmany line 255: temp=`mktemp -d -p "$tmp" debmany.XXXXXXXXXX` || error "Unable to create a temporary folder in '$tmp'." ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: temp=$(mktemp -d -p "$tmp" debmany.XXXXXXXXXX) || error "Unable to create a temporary folder in '$tmp'." In /usr/bin/debmany line 261: aptdata=`apt-get -q2 --print-uris download "$package" 2>/dev/null | grep "$package"_` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: aptdata=$(apt-get -q2 --print-uris download "$package" 2>/dev/null | grep "$package"_) In /usr/bin/debmany line 265: aptdata=`apt-get -q2 --print-uris download "apt" 2>/dev/null | grep "apt"_` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: aptdata=$(apt-get -q2 --print-uris download "apt" 2>/dev/null | grep "apt"_) In /usr/bin/debmany line 266: if [ $? -ne 0 ] || [ -z "$aptdata" ] ; then ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In /usr/bin/debmany line 276: url=`echo "$aptdata" | sed -e "s/^'\([^']*\)'.*$/\1/"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2001: See if you can use ${variable//search/replace} instead. Did you mean: url=$(echo "$aptdata" | sed -e "s/^'\([^']*\)'.*$/\1/") In /usr/bin/debmany line 277: test -z "$url" && error "Could not obtain an URL for '$pkgspec'." ^------^ SC2154: pkgspec is referenced but not assigned. In /usr/bin/debmany line 297: size=`apt-cache show "$package"|grep ^"Size: "|head -1|cut -f2 -d" "` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: size=$(apt-cache show "$package"|grep ^"Size: "|head -1|cut -f2 -d" ") In /usr/bin/debmany line 299: limit=`echo $asksize|tr -cd "[0-9]"` ^----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2086: Double quote to prevent globbing and word splitting. ^-----^ SC2021: Don't use [] around classes in tr, it replaces literal square brackets. Did you mean: limit=$(echo "$asksize"|tr -cd "[0-9]") In /usr/bin/debmany line 302: unit=`echo $asksize|tr -d "[0-9]"` ^---------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2086: Double quote to prevent globbing and word splitting. ^-----^ SC2021: Don't use [] around classes in tr, it replaces literal square brackets. Did you mean: unit=$(echo "$asksize"|tr -d "[0-9]") In /usr/bin/debmany line 307: K) limit=$(($limit*1024));; ^----^ SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 308: M) limit=$(($limit*1024*1024));; ^----^ SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 309: G) limit=$(($limit*1024*1024*1024));; ^----^ SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 310: T) limit=$(($limit*1024*1024*1024*1024));; ^----^ SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 314: if [ $size -ge $limit ] ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if [ "$size" -ge $limit ] In /usr/bin/debmany line 318: size=$(($size*100)) # !dash 2G limit ^---^ SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 322: size=$(($size/1024)) ^---^ SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 331: size=$((($size+5)/10)) # !dash 2G limit ^---^ SC2004: $/${} is unnecessary on arithmetic variables. In /usr/bin/debmany line 333: commasize=`echo $size|sed "s/\(.*\)\(.\)/\1.\2/"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2001: See if you can use ${variable//search/replace} instead. Did you mean: commasize=$(echo $size|sed "s/\(.*\)\(.\)/\1.\2/") In /usr/bin/debmany line 334: commasize=`printf "%.1f$unit" $commasize` ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: commasize=$(printf "%.1f$unit" "$commasize") In /usr/bin/debmany line 358: cd "$temp" ^--------^ SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Did you mean: cd "$temp" || exit In /usr/bin/debmany line 363: for l in `echo "$lang"|tr "," " "` ^-----------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: for l in $(echo "$lang"|tr "," " ") In /usr/bin/debmany line 369: dpkg --fsys-tarfile "$file" | tar --wildcards -xf - $mandirs 2>/dev/null ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: dpkg --fsys-tarfile "$file" | tar --wildcards -xf - "$mandirs" 2>/dev/null In /usr/bin/debmany line 371: manpages=`find usr -type f 2>/dev/null|sort|sed -e 's|\([^/]*\)$|\1 \1|'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: manpages=$(find usr -type f 2>/dev/null|sort|sed -e 's|\([^/]*\)$|\1 \1|') In /usr/bin/debmany line 382: return=`$cmd --title="Debmany: $package" --text="Select a file ($status:$package)" --width=800 --height=600 --list --column=Path --column=File $manpages` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: return=$($cmd --title="Debmany: $package" --text="Select a file ($status:$package)" --width=800 --height=600 --list --column=Path --column=File "$manpages") In /usr/bin/debmany line 385: return=`$cmd --title "Select a file ($status:$package)" --menu '' $y $x $h $manpages 2>&1 1>&3` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: return=$($cmd --title "Select a file ($status:$package)" --menu '' $y $x $h "$manpages" 2>&1 1>&3) In /usr/bin/debmany line 392: if echo $return | grep -q usr/share/man ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if echo "$return" | grep -q usr/share/man In /usr/bin/debmany line 394: path=$(dirname `dirname "$return"`) ^-----------------^ SC2046: Quote this to prevent word splitting. ^-----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: path=$(dirname $(dirname "$return")) In /usr/bin/debmany line 395: file=`echo "$return"|sed "s|^$path/||"` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2001: See if you can use ${variable//search/replace} instead. Did you mean: file=$(echo "$return"|sed "s|^$path/||") In /usr/bin/debmany line 400: cd "$temp/$path" ^--------------^ SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Did you mean: cd "$temp/$path" || exit In /usr/bin/debmany line 404: cd "$path" ^--------^ SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Did you mean: cd "$path" || exit In /usr/bin/debmany line 406: debug "Opening manpage file: "`printf "$mancmdline" "$PWD/$file"` # comment ^-- SC2046: Quote this to prevent word splitting. ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-----------^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo". Did you mean: debug "Opening manpage file: "$(printf "$mancmdline" "$PWD/$file") # comment In /usr/bin/debmany line 407: eval $(printf "$mancmdline" "$PWD/$file") ^-- SC2046: Quote this to prevent word splitting. ^-----------^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo". In /usr/bin/debmany line 408: cd - >/dev/null ^-------------^ SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Did you mean: cd - >/dev/null || exit In /usr/bin/debmany line 411: debug "Opening other file: "`printf "$othercmdline" "$PWD/$return"` # comment ^-- SC2046: Quote this to prevent word splitting. ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-------------^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo". Did you mean: debug "Opening other file: "$(printf "$othercmdline" "$PWD/$return") # comment In /usr/bin/debmany line 414: eval $(printf "gzip -dc $PWD/$return | $othercmdline") ^-- SC2046: Quote this to prevent word splitting. ^-- SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo". In /usr/bin/debmany line 416: eval $(printf "$othercmdline" "$PWD/$return") ^-- SC2046: Quote this to prevent word splitting. ^-------------^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo". In /usr/bin/debmany line 420: cd "$curdir" ^----------^ SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Did you mean: cd "$curdir" || exit For more information: https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt... https://www.shellcheck.net/wiki/SC2048 -- Use "$@" (with quotes) to prevent... https://www.shellcheck.net/wiki/SC2128 -- Expanding an array without an ind...