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.