In /usr/bin/xdg-icon-resource line 212: [ ${XDG_UTILS_DEBUG_LEVEL} -lt $1 ] && return 0; ^----------------------^ SC2086: Double quote to prevent globbing and word splitting. ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: [ "${XDG_UTILS_DEBUG_LEVEL}" -lt "$1" ] && return 0; In /usr/bin/xdg-icon-resource line 220: read first rest ^--^ SC2162: read without -r will mangle backslashes. In /usr/bin/xdg-icon-resource line 229: binary="`which "$1"`" ^----------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: binary="$(which "$1")" In /usr/bin/xdg-icon-resource line 230: binary="`readlink -f "$binary"`" ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: binary="$(readlink -f "$binary")" In /usr/bin/xdg-icon-resource line 231: base="`basename "$binary"`" ^------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: base="$(basename "$binary")" In /usr/bin/xdg-icon-resource line 243: command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | first_word`" ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: command="$(grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | first_word)" In /usr/bin/xdg-icon-resource line 244: command="`which "$command"`" ^----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: command="$(which "$command")" In /usr/bin/xdg-icon-resource line 245: if [ x"`readlink -f "$command"`" = x"$binary" ]; then ^----------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: if [ x"$(readlink -f "$command")" = x"$binary" ]; then In /usr/bin/xdg-icon-resource line 259: desktop="`basename "$1"`" ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: desktop="$(basename "$1")" In /usr/bin/xdg-icon-resource line 268: if [ -r $dir/applications/$vendor/$app ]; then ^--^ 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: if [ -r "$dir"/applications/"$vendor"/"$app" ]; then In /usr/bin/xdg-icon-resource line 270: elif [ -r $dir/applnk/$vendor/$app ]; then ^--^ 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: elif [ -r "$dir"/applnk/"$vendor"/"$app" ]; then In /usr/bin/xdg-icon-resource line 285: command="`grep -E "^Exec(\[[^]=]*])?=" "$file_path" | cut -d= -f 2- | first_word`" ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: command="$(grep -E "^Exec(\[[^]=]*])?=" "$file_path" | cut -d= -f 2- | first_word)" In /usr/bin/xdg-icon-resource line 286: command="`which "$command"`" ^----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: command="$(which "$command")" In /usr/bin/xdg-icon-resource line 296: exit_success() ^-- SC2120: exit_success references arguments, but none are ever passed. In /usr/bin/xdg-icon-resource line 315: echo "xdg-icon-resource: $@" >&2 ^-- SC2145: Argument mixes string and array. Use * or separate argument. In /usr/bin/xdg-icon-resource line 331: echo "xdg-icon-resource: $@" >&2 ^-- SC2145: Argument mixes string and array. Use * or separate argument. In /usr/bin/xdg-icon-resource line 343: echo "xdg-icon-resource: $@" >&2 ^-- SC2145: Argument mixes string and array. Use * or separate argument. In /usr/bin/xdg-icon-resource line 355: echo "xdg-icon-resource: $@" >&2 ^-- SC2145: Argument mixes string and array. Use * or separate argument. In /usr/bin/xdg-icon-resource line 367: echo "xdg-icon-resource: $@" >&2 ^-- SC2145: Argument mixes string and array. Use * or separate argument. In /usr/bin/xdg-icon-resource line 379: echo "xdg-icon-resource: $@" >&2 ^-- SC2145: Argument mixes string and array. Use * or separate argument. In /usr/bin/xdg-icon-resource line 399: file=`basename "$1"` ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: file=$(basename "$1") In /usr/bin/xdg-icon-resource line 422: DIR=`dirname "$1"` ^------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: DIR=$(dirname "$1") In /usr/bin/xdg-icon-resource line 442: exit_success ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1. In /usr/bin/xdg-icon-resource line 447: exit_success ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1. In /usr/bin/xdg-icon-resource line 452: exit_success ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1. In /usr/bin/xdg-icon-resource line 461: if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then ^------------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if [ "${XDG_UTILS_DEBUG_LEVEL-0}" -lt 1 ]; then In /usr/bin/xdg-icon-resource line 520: elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; ^-- SC2092: Remove backticks to avoid executing output. ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: elif $(dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1) ; then DE=gnome; In /usr/bin/xdg-icon-resource line 523: elif echo $DESKTOP | grep -q '^Enlightenment'; then DE=enlightenment; ^------^ SC2153: Possible misspelling: DESKTOP may not be assigned, but desktop is. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: elif echo "$DESKTOP" | grep -q '^Enlightenment'; then DE=enlightenment; In /usr/bin/xdg-icon-resource line 576: version=`LC_ALL=C.UTF-8 kde-config --version 2>/dev/null | grep '^KDE'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: version=$(LC_ALL=C.UTF-8 kde-config --version 2>/dev/null | grep '^KDE') In /usr/bin/xdg-icon-resource line 577: major=`echo $version | sed 's/KDE.*: \([0-9]\).*/\1/'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: major=$(echo "$version" | sed 's/KDE.*: \([0-9]\).*/\1/') In /usr/bin/xdg-icon-resource line 578: minor=`echo $version | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: minor=$(echo "$version" | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/') In /usr/bin/xdg-icon-resource line 579: release=`echo $version | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: release=$(echo "$version" | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/') In /usr/bin/xdg-icon-resource line 580: test "$major" -gt 3 && return $1 ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: test "$major" -gt 3 && return "$1" In /usr/bin/xdg-icon-resource line 581: test "$minor" -gt 5 && return $1 ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: test "$minor" -gt 5 && return "$1" In /usr/bin/xdg-icon-resource line 582: test "$release" -gt 4 && return $1 ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: test "$release" -gt 4 && return "$1" In /usr/bin/xdg-icon-resource line 606: for x in `echo "$PATH:/opt/gnome/bin" | sed 's/:/ /g'`; do ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: for x in $(echo "$PATH:/opt/gnome/bin" | sed 's/:/ /g'); do In /usr/bin/xdg-icon-resource line 638: eval '$GTK_UPDATE_ICON_CACHE -f -t "$1"'$xdg_redirect_output ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: eval '$GTK_UPDATE_ICON_CACHE -f -t "$1"'"$xdg_redirect_output" In /usr/bin/xdg-icon-resource line 774: if [ "`whoami`" = "root" ] ; then ^------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: if [ "$(whoami)" = "root" ] ; then In /usr/bin/xdg-icon-resource line 792: for x in `echo "$xdg_system_dirs" | sed 's/:/ /g'`; do ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: for x in $(echo "$xdg_system_dirs" | sed 's/:/ /g'); do In /usr/bin/xdg-icon-resource line 821: update_icon_database $xdg_base_dir ^-----------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: update_icon_database "$xdg_base_dir" In /usr/bin/xdg-icon-resource line 827: exit_success ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1. In /usr/bin/xdg-icon-resource line 852: extension="png" ^-------^ SC2034: extension appears unused. Verify use (or export if used externally). In /usr/bin/xdg-icon-resource line 874: local path ^--------^ SC2039: In POSIX sh, 'local' is undefined. In /usr/bin/xdg-icon-resource line 875: path=`readlink -f "$1" 2> /dev/null` # Normalize path ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: path=$(readlink -f "$1" 2> /dev/null) # Normalize path In /usr/bin/xdg-icon-resource line 883: kde_icon_dirs=`kde${KDE_SESSION_VERSION}-config --path icon 2> /dev/null |sed 's/:/ /g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^--------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: kde_icon_dirs=$(kde"${KDE_SESSION_VERSION}"-config --path icon 2> /dev/null |sed 's/:/ /g') In /usr/bin/xdg-icon-resource line 892: x=`readlink -f "$y"` # Normalize path ^----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: x=$(readlink -f "$y") # Normalize path In /usr/bin/xdg-icon-resource line 917: kde_user_icon_dir=`kde${KDE_SESSION_VERSION}-config --path icon | cut -d ':' -f 1` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^--------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: kde_user_icon_dir=$(kde"${KDE_SESSION_VERSION}"-config --path icon | cut -d ':' -f 1) In /usr/bin/xdg-icon-resource line 928: eval 'ln -s ".local/share/icons" "$dot_icon_dir"'$xdg_redirect_output ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: eval 'ln -s ".local/share/icons" "$dot_icon_dir"'"$xdg_redirect_output" In /usr/bin/xdg-icon-resource line 953: [ -n "$icon_name" ] || icon_name=`basename "$icon_file" | sed 's/\.[a-z][a-z][a-z]$//'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: [ -n "$icon_name" ] || icon_name=$(basename "$icon_file" | sed 's/\.[a-z][a-z][a-z]$//') In /usr/bin/xdg-icon-resource line 955: if [ "$vendor" = "true" -a "$action" = "install" -a "$context" = "apps" ] ; then ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. In /usr/bin/xdg-icon-resource line 959: icon_icon_file=`echo "$icon_file" | sed 's/\.[a-z][a-z][a-z]$/.icon/'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: icon_icon_file=$(echo "$icon_file" | sed 's/\.[a-z][a-z][a-z]$/.icon/') In /usr/bin/xdg-icon-resource line 966: [ "$action" = "install" -a -n "$dot_icon_dir" ] && DEBUG 1 "$action ~/.icons symlink (GNOME 2.8 support)" ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. In /usr/bin/xdg-icon-resource line 970: save_umask=`umask` ^-----^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: save_umask=$(umask) In /usr/bin/xdg-icon-resource line 976: eval 'cp "$icon_file" "$icon_dir/$icon_name.$extension"'$xdg_redirect_output ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: eval 'cp "$icon_file" "$icon_dir/$icon_name.$extension"'"$xdg_redirect_output" In /usr/bin/xdg-icon-resource line 978: eval 'cp "$icon_icon_file" "$icon_dir/$icon_icon_name"'$xdg_redirect_output ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: eval 'cp "$icon_icon_file" "$icon_dir/$icon_icon_name"'"$xdg_redirect_output" In /usr/bin/xdg-icon-resource line 981: eval 'ln -s "$icon_name.$extension" "$icon_dir/gnome-mime-$icon_name.$extension"'$xdg_redirect_output ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: eval 'ln -s "$icon_name.$extension" "$icon_dir/gnome-mime-$icon_name.$extension"'"$xdg_redirect_output" In /usr/bin/xdg-icon-resource line 986: eval 'ln -s "$xdg_dir/$icon_name.$extension" "$kde_dir/$icon_name.$extension"'$xdg_redirect_output ^------------------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: eval 'ln -s "$xdg_dir/$icon_name.$extension" "$kde_dir/$icon_name.$extension"'"$xdg_redirect_output" In /usr/bin/xdg-icon-resource line 989: umask $save_umask ^---------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: umask "$save_umask" In /usr/bin/xdg-icon-resource line 1018: exit_success ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1. For more information: https://www.shellcheck.net/wiki/SC2145 -- Argument mixes string and array. ... https://www.shellcheck.net/wiki/SC2034 -- extension appears unused. Verify ... https://www.shellcheck.net/wiki/SC2039 -- In POSIX sh, 'local' is undefined.