In /usr/bin/xdg-desktop-menu line 411:
  [ ${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-desktop-menu line 419:
    read first rest
    ^--^ SC2162: read without -r will mangle backslashes.


In /usr/bin/xdg-desktop-menu line 428:
    binary="`which "$1"`"
            ^----------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    binary="$(which "$1")"


In /usr/bin/xdg-desktop-menu line 429:
    binary="`readlink -f "$binary"`"
            ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    binary="$(readlink -f "$binary")"


In /usr/bin/xdg-desktop-menu line 430:
    base="`basename "$binary"`"
          ^------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    base="$(basename "$binary")"


In /usr/bin/xdg-desktop-menu line 442:
            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-desktop-menu line 443:
            command="`which "$command"`"
                     ^----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            command="$(which "$command")"


In /usr/bin/xdg-desktop-menu line 444:
            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-desktop-menu line 458:
    desktop="`basename "$1"`"
             ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    desktop="$(basename "$1")"


In /usr/bin/xdg-desktop-menu line 467:
            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-desktop-menu line 469:
            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-desktop-menu line 484:
            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-desktop-menu line 485:
            command="`which "$command"`"
                     ^----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            command="$(which "$command")"


In /usr/bin/xdg-desktop-menu line 495:
exit_success()
^-- SC2120: exit_success references arguments, but none are ever passed.


In /usr/bin/xdg-desktop-menu line 514:
        echo "xdg-desktop-menu: $@" >&2
                                ^-- SC2145: Argument mixes string and array. Use * or separate argument.


In /usr/bin/xdg-desktop-menu line 530:
        echo "xdg-desktop-menu: $@" >&2
                                ^-- SC2145: Argument mixes string and array. Use * or separate argument.


In /usr/bin/xdg-desktop-menu line 542:
        echo "xdg-desktop-menu: $@" >&2
                                ^-- SC2145: Argument mixes string and array. Use * or separate argument.


In /usr/bin/xdg-desktop-menu line 554:
        echo "xdg-desktop-menu: $@" >&2
                                ^-- SC2145: Argument mixes string and array. Use * or separate argument.


In /usr/bin/xdg-desktop-menu line 566:
        echo "xdg-desktop-menu: $@" >&2
                                ^-- SC2145: Argument mixes string and array. Use * or separate argument.


In /usr/bin/xdg-desktop-menu line 578:
        echo "xdg-desktop-menu: $@" >&2
                                ^-- SC2145: Argument mixes string and array. Use * or separate argument.


In /usr/bin/xdg-desktop-menu line 598:
    file=`basename "$1"`
         ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    file=$(basename "$1")


In /usr/bin/xdg-desktop-menu line 621:
        DIR=`dirname "$1"`
            ^------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        DIR=$(dirname "$1")


In /usr/bin/xdg-desktop-menu line 641:
            exit_success
            ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1.


In /usr/bin/xdg-desktop-menu line 646:
            exit_success
            ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1.


In /usr/bin/xdg-desktop-menu line 651:
            exit_success
            ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1.


In /usr/bin/xdg-desktop-menu line 660:
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-desktop-menu line 719:
      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-desktop-menu line 722:
      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-desktop-menu line 775:
    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-desktop-menu line 776:
    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-desktop-menu line 777:
    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-desktop-menu line 778:
    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-desktop-menu line 779:
    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-desktop-menu line 780:
    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-desktop-menu line 781:
    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-desktop-menu line 801:
        for x in `echo $PATH | sed 's/:/ /g'` /opt/gnome/bin; do
                 ^--------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                       ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        for x in $(echo "$PATH" | sed 's/:/ /g') /opt/gnome/bin; do


In /usr/bin/xdg-desktop-menu line 802:
           if [ -x $x/update-desktop-database ] ; then
                   ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
           if [ -x "$x"/update-desktop-database ] ; then


In /usr/bin/xdg-desktop-menu line 804:
              eval '$x/update-desktop-database'$xdg_redirect_output
                                               ^------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
              eval '$x/update-desktop-database'"$xdg_redirect_output"


In /usr/bin/xdg-desktop-menu line 817:
    local mimetypes
    ^-------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/xdg-desktop-menu line 818:
    local xdg_user_dir
    ^----------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/xdg-desktop-menu line 819:
    local xdg_default_dirs
    ^--------------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/xdg-desktop-menu line 822:
    mimetypes=`awk '
              ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    mimetypes=$(awk '
{
    if (match($0,/MimeType=/)) {
        split(substr($0,RSTART+9),mimetypes,";")
        for (n in mimetypes)
        {
               if (mimetypes[n])
                 print mimetypes[n]
        }
    }
}' "$1/$2" 2> /dev/null)


In /usr/bin/xdg-desktop-menu line 842:
        local default_app
        ^---------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/xdg-desktop-menu line 843:
        for x in `echo "$xdg_default_dirs" | sed 's/:/ /g'`; do
                 ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        for x in $(echo "$xdg_default_dirs" | sed 's/:/ /g'); do


In /usr/bin/xdg-desktop-menu line 845:
            default_app=`grep "$MIME=" $x/applications/defaults.list 2> /dev/null | cut -d '=' -f 2`
                        ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                       ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            default_app=$(grep "$MIME=" "$x"/applications/defaults.list 2> /dev/null | cut -d '=' -f 2)


In /usr/bin/xdg-desktop-menu line 859:
        grep -v "$MIME=" $default_file > ${default_file}.new 2> /dev/null
                         ^-----------^ SC2086: Double quote to prevent globbing and word splitting.
                                         ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        grep -v "$MIME=" "$default_file" > "${default_file}".new 2> /dev/null


In /usr/bin/xdg-desktop-menu line 860:
        if ! grep "[Default Applications]" ${default_file}.new > /dev/null; then
                                           ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        if ! grep "[Default Applications]" "${default_file}".new > /dev/null; then


In /usr/bin/xdg-desktop-menu line 861:
            echo "[Default Applications]" >> ${default_file}.new
                                             ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            echo "[Default Applications]" >> "${default_file}".new


In /usr/bin/xdg-desktop-menu line 863:
        echo $MIME="$default_app$2" >> ${default_file}.new
             ^---^ SC2086: Double quote to prevent globbing and word splitting.
                                       ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        echo "$MIME"="$default_app$2" >> "${default_file}".new


In /usr/bin/xdg-desktop-menu line 864:
        mv ${default_file}.new $default_file
           ^-------------^ SC2086: Double quote to prevent globbing and word splitting.
                               ^-----------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        mv "${default_file}".new "$default_file"


In /usr/bin/xdg-desktop-menu line 881:
    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-desktop-menu line 882:
        if [ -w $x/$xdg_dir_name ] ; then
                ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        if [ -w "$x"/$xdg_dir_name ] ; then


In /usr/bin/xdg-desktop-menu line 917:
        save_umask=`umask`
                   ^-----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        save_umask=$(umask)


In /usr/bin/xdg-desktop-menu line 920:
        mkdir -p $xdg_dir
                 ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        mkdir -p "$xdg_dir"


In /usr/bin/xdg-desktop-menu line 921:
        touch $xdg_dir/xdg-desktop-menu-dummy.menu
              ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        touch "$xdg_dir"/xdg-desktop-menu-dummy.menu


In /usr/bin/xdg-desktop-menu line 923:
        umask $save_umask
              ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        umask "$save_umask"


In /usr/bin/xdg-desktop-menu line 927:
    if [ $action = "install" ] && [ -f "/etc/xdg/menus/gnome-applications.menu" ] ; then
         ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ "$action" = "install" ] && [ -f "/etc/xdg/menus/gnome-applications.menu" ] ; then


In /usr/bin/xdg-desktop-menu line 929:
        gnome_xdg_dir=`echo "$xdg_dir" | sed -e 's^/applications-merged^/gnome-applications-merged^'`
                      ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        gnome_xdg_dir=$(echo "$xdg_dir" | sed -e 's^/applications-merged^/gnome-applications-merged^')


In /usr/bin/xdg-desktop-menu line 932:
            mkdir -p `dirname "$gnome_xdg_dir"`
                     ^------------------------^ SC2046: Quote this to prevent word splitting.
                     ^------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            mkdir -p $(dirname "$gnome_xdg_dir")


In /usr/bin/xdg-desktop-menu line 933:
            eval 'ln -s "applications-merged" "$gnome_xdg_dir"'$xdg_redirect_output
                                                               ^------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            eval 'ln -s "applications-merged" "$gnome_xdg_dir"'"$xdg_redirect_output"


In /usr/bin/xdg-desktop-menu line 936:
    if [ $action = "install" ] && [ -f "/etc/mandrake-release" ] ; then
         ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ "$action" = "install" ] && [ -f "/etc/mandrake-release" ] ; then


In /usr/bin/xdg-desktop-menu line 938:
        mandrake_xdg_dir=`echo "$xdg_dir" | sed -e 's^/applications-merged^/applications-mdk-merged^'`
                         ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        mandrake_xdg_dir=$(echo "$xdg_dir" | sed -e 's^/applications-merged^/applications-mdk-merged^')


In /usr/bin/xdg-desktop-menu line 941:
            mkdir -p `dirname "$mandrake_xdg_dir"`
                     ^---------------------------^ SC2046: Quote this to prevent word splitting.
                     ^---------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            mkdir -p $(dirname "$mandrake_xdg_dir")


In /usr/bin/xdg-desktop-menu line 942:
            eval 'ln -s "applications-merged" "$mandrake_xdg_dir"'$xdg_redirect_output
                                                                  ^------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            eval 'ln -s "applications-merged" "$mandrake_xdg_dir"'"$xdg_redirect_output"


In /usr/bin/xdg-desktop-menu line 945:
    if [ $action = "install" -a x"$mode" = x"user" ] && [ -d "/etc/xdg/menus/kde-applications-merged" ] ; then
         ^-----^ SC2086: Double quote to prevent globbing and word splitting.
                             ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.

Did you mean: 
    if [ "$action" = "install" -a x"$mode" = x"user" ] && [ -d "/etc/xdg/menus/kde-applications-merged" ] ; then


In /usr/bin/xdg-desktop-menu line 947:
        kde_xdg_dir=`echo "$xdg_dir" | sed -e 's^/applications-merged^/kde-applications-merged^'`
                    ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        kde_xdg_dir=$(echo "$xdg_dir" | sed -e 's^/applications-merged^/kde-applications-merged^')


In /usr/bin/xdg-desktop-menu line 950:
            mkdir -p `dirname "$kde_xdg_dir"`
                     ^----------------------^ SC2046: Quote this to prevent word splitting.
                     ^----------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            mkdir -p $(dirname "$kde_xdg_dir")


In /usr/bin/xdg-desktop-menu line 951:
            eval 'ln -s "applications-merged" "$kde_xdg_dir"'$xdg_redirect_output
                                                             ^------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            eval 'ln -s "applications-merged" "$kde_xdg_dir"'"$xdg_redirect_output"


In /usr/bin/xdg-desktop-menu line 954:
    if [ $action = "install" -a x"$mode" = x"system" ] && [ -d "/etc/xdg/menus/kde-applications-merged" ] && [ ! -d "/etc/xdg/menus/applications-merged" ] ; then
         ^-----^ SC2086: Double quote to prevent globbing and word splitting.
                             ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.

Did you mean: 
    if [ "$action" = "install" -a x"$mode" = x"system" ] && [ -d "/etc/xdg/menus/kde-applications-merged" ] && [ ! -d "/etc/xdg/menus/applications-merged" ] ; then


In /usr/bin/xdg-desktop-menu line 956:
        kde_xdg_dir=`echo "$xdg_dir" | sed -e 's^/applications-merged^/kde-applications-merged^'`
                    ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        kde_xdg_dir=$(echo "$xdg_dir" | sed -e 's^/applications-merged^/kde-applications-merged^')


In /usr/bin/xdg-desktop-menu line 958:
        eval 'ln -s "kde-applications-merged" "$xdg_dir"'$xdg_redirect_output
                                                         ^------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        eval 'ln -s "kde-applications-merged" "$xdg_dir"'"$xdg_redirect_output"


In /usr/bin/xdg-desktop-menu line 966:
    tmpfile=`mktemp $TMPDIR/tmp.XXXXXXXXXX`
            ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    tmpfile=$(mktemp $TMPDIR/tmp.XXXXXXXXXX)


In /usr/bin/xdg-desktop-menu line 978:
}' $orig_menu_file > $tmpfile
   ^-------------^ SC2086: Double quote to prevent globbing and word splitting.
                     ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
}' "$orig_menu_file" > "$tmpfile"


In /usr/bin/xdg-desktop-menu line 981:
    orig_desktop_files=`cat $tmpfile`
                       ^------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                            ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    orig_desktop_files=$(cat "$tmpfile")


In /usr/bin/xdg-desktop-menu line 983:
    if [ $action = "install" ] ; then
         ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ "$action" = "install" ] ; then


In /usr/bin/xdg-desktop-menu line 985:
            basefile=`basename "$desktop_file"`
                     ^------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            basefile=$(basename "$desktop_file")


In /usr/bin/xdg-desktop-menu line 986:
            if ! grep '^'$basefile'$' $tmpfile > /dev/null 2> /dev/null ; then
                         ^-------^ SC2086: Double quote to prevent globbing and word splitting.
                                      ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            if ! grep '^'"$basefile"'$' "$tmpfile" > /dev/null 2> /dev/null ; then


In /usr/bin/xdg-desktop-menu line 988:
            	echo "$basefile" >> $tmpfile
                                    ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            	echo "$basefile" >> "$tmpfile"


In /usr/bin/xdg-desktop-menu line 991:
        new_desktop_files=`cat $tmpfile`
                          ^------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                               ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        new_desktop_files=$(cat "$tmpfile")


In /usr/bin/xdg-desktop-menu line 993:
    if [ $action = "uninstall" ] ; then
         ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ "$action" = "uninstall" ] ; then


In /usr/bin/xdg-desktop-menu line 994:
        echo > $tmpfile
               ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        echo > "$tmpfile"


In /usr/bin/xdg-desktop-menu line 996:
            echo "$desktop_file" >> $tmpfile
                                    ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            echo "$desktop_file" >> "$tmpfile"


In /usr/bin/xdg-desktop-menu line 1000:
        if [ ! -z "$orig_desktop_files" ]; then
             ^-- SC2236: Use -n instead of ! -z.


In /usr/bin/xdg-desktop-menu line 1002:
            if ! grep '^'$desktop_file'$' $tmpfile > /dev/null 2> /dev/null; then
                         ^-----------^ SC2086: Double quote to prevent globbing and word splitting.
                                          ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            if ! grep '^'"$desktop_file"'$' "$tmpfile" > /dev/null 2> /dev/null; then


In /usr/bin/xdg-desktop-menu line 1016:
        tmpfile=`mktemp $TMPDIR/tmp.XXXXXXXXXX`
                ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        tmpfile=$(mktemp $TMPDIR/tmp.XXXXXXXXXX)


In /usr/bin/xdg-desktop-menu line 1025:
                basefile=`basename "$desktop_file"`
                         ^------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
                basefile=$(basename "$desktop_file")


In /usr/bin/xdg-desktop-menu line 1026:
                basefilename=`echo "$basefile"|cut -d '.' -f 1`
                             ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
                basefilename=$(echo "$basefile"|cut -d '.' -f 1)


In /usr/bin/xdg-desktop-menu line 1043:
        ) > $tmpfile
            ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        ) > "$tmpfile"


In /usr/bin/xdg-desktop-menu line 1044:
        chmod $my_chmod $tmpfile
                        ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        chmod $my_chmod "$tmpfile"


In /usr/bin/xdg-desktop-menu line 1046:
        save_umask=`umask`
                   ^-----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        save_umask=$(umask)


In /usr/bin/xdg-desktop-menu line 1049:
        mkdir -p $xdg_dir
                 ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        mkdir -p "$xdg_dir"


In /usr/bin/xdg-desktop-menu line 1050:
        eval 'cp $tmpfile $xdg_dir/$menu_file'$xdg_redirect_output
                                              ^------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        eval 'cp $tmpfile $xdg_dir/$menu_file'"$xdg_redirect_output"


In /usr/bin/xdg-desktop-menu line 1052:
        umask $save_umask
              ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        umask "$save_umask"


In /usr/bin/xdg-desktop-menu line 1056:
        rm -f $xdg_dir/$menu_file
              ^------^ SC2086: Double quote to prevent globbing and word splitting.
                       ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        rm -f "$xdg_dir"/"$menu_file"


In /usr/bin/xdg-desktop-menu line 1060:
    if [ $action = "uninstall" ] ; then
         ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ "$action" = "uninstall" ] ; then


In /usr/bin/xdg-desktop-menu line 1062:
        tmpfile=`mktemp $TMPDIR/tmp.XXXXXXXXXX`
                ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        tmpfile=$(mktemp $TMPDIR/tmp.XXXXXXXXXX)


In /usr/bin/xdg-desktop-menu line 1063:
        for menu_file in $xdg_dir/*; do
                         ^------^ SC2231: Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /usr/bin/xdg-desktop-menu line 1074:
}' "$menu_file" >> $tmpfile
                   ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
}' "$menu_file" >> "$tmpfile"


In /usr/bin/xdg-desktop-menu line 1080:
            if ! grep '^'$desktop_file'$' $tmpfile > /dev/null 2> /dev/null; then
                         ^-----------^ SC2086: Double quote to prevent globbing and word splitting.
                                          ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            if ! grep '^'"$desktop_file"'$' "$tmpfile" > /dev/null 2> /dev/null; then


In /usr/bin/xdg-desktop-menu line 1192:
    if [ `whoami` = "root" ] ; then
         ^------^ SC2046: Quote this to prevent word splitting.
         ^------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    if [ $(whoami) = "root" ] ; then


In /usr/bin/xdg-desktop-menu line 1201:
    exit_success
    ^----------^ SC2119: Use exit_success "$@" if function's $1 should mean script's $1.


In /usr/bin/xdg-desktop-menu line 1210:
    if [ "$vendor" =  "true" -a "$action" = "install" ] ; then
                             ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.


In /usr/bin/xdg-desktop-menu line 1214:
    basefilename=`basename "$desktop_file" | cut -d '.' -f 1`
                 ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    basefilename=$(basename "$desktop_file" | cut -d '.' -f 1)


In /usr/bin/xdg-desktop-menu line 1237:
xdg_dir_name=desktop-directories
             ^-----------------^ SC2100: Use $((..)) for arithmetics, e.g. i=$((i - 2))


In /usr/bin/xdg-desktop-menu line 1246:
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-desktop-menu line 1247:
    if [ -w $x/$xdg_dir_name ] ; then
            ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ -w "$x"/$xdg_dir_name ] ; then


In /usr/bin/xdg-desktop-menu line 1277:
    basefile=`basename "$desktop_file"`
             ^------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    basefile=$(basename "$desktop_file")


In /usr/bin/xdg-desktop-menu line 1283:
            save_umask=`umask`
                       ^-----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            save_umask=$(umask)


In /usr/bin/xdg-desktop-menu line 1287:
                mkdir -p $x
                         ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
                mkdir -p "$x"


In /usr/bin/xdg-desktop-menu line 1288:
                eval 'cp $desktop_file $x/$basefile'$xdg_redirect_output
                                                    ^------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
                eval 'cp $desktop_file $x/$basefile'"$xdg_redirect_output"


In /usr/bin/xdg-desktop-menu line 1291:
            umask $save_umask
                  ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            umask "$save_umask"


In /usr/bin/xdg-desktop-menu line 1296:
                rm -f $x/$basefile
                      ^-- SC2086: Double quote to prevent globbing and word splitting.
                         ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
                rm -f "$x"/"$basefile"


In /usr/bin/xdg-desktop-menu line 1313:
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-desktop-menu line 1314:
    if [ -w $x/$xdg_dir_name ] ; then
            ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ -w "$x"/$xdg_dir_name ] ; then


In /usr/bin/xdg-desktop-menu line 1320:
kde_user_dir=`kde${KDE_SESSION_VERSION}-config --path apps 2> /dev/null | 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_dir=$(kde"${KDE_SESSION_VERSION}"-config --path apps 2> /dev/null | cut -d ':' -f 1)


In /usr/bin/xdg-desktop-menu line 1321:
kde_global_dir=`kde${KDE_SESSION_VERSION}-config --path apps 2> /dev/null | cut -d ':' -f 2`
               ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                   ^--------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
kde_global_dir=$(kde"${KDE_SESSION_VERSION}"-config --path apps 2> /dev/null | cut -d ':' -f 2)


In /usr/bin/xdg-desktop-menu line 1322:
[ -w $kde_global_dir ] || kde_global_dir=
     ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
[ -w "$kde_global_dir" ] || kde_global_dir=


In /usr/bin/xdg-desktop-menu line 1352:
    if [ "$vendor" =  "true" -a "$action" = "install" ] ; then
                             ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.


In /usr/bin/xdg-desktop-menu line 1356:
    basefile=`basename "$desktop_file"`
             ^------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    basefile=$(basename "$desktop_file")


In /usr/bin/xdg-desktop-menu line 1362:
            save_umask=`umask`
                       ^-----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            save_umask=$(umask)


In /usr/bin/xdg-desktop-menu line 1366:
                mkdir -p $x
                         ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
                mkdir -p "$x"


In /usr/bin/xdg-desktop-menu line 1367:
                eval 'cp $desktop_file $x/$basefile'$xdg_redirect_output
                                                    ^------------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
                eval 'cp $desktop_file $x/$basefile'"$xdg_redirect_output"


In /usr/bin/xdg-desktop-menu line 1370:
            if [ -f $kde_dir/$basefile ] ; then
                    ^------^ SC2086: Double quote to prevent globbing and word splitting.
                             ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            if [ -f "$kde_dir"/"$basefile" ] ; then


In /usr/bin/xdg-desktop-menu line 1371:
                echo "OnlyShowIn=Old;" >> $kde_dir/$basefile
                                          ^------^ SC2086: Double quote to prevent globbing and word splitting.
                                                   ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
                echo "OnlyShowIn=Old;" >> "$kde_dir"/"$basefile"


In /usr/bin/xdg-desktop-menu line 1374:
            if [ -f $gnome_dir/$basefile ] ; then
                    ^--------^ SC2086: Double quote to prevent globbing and word splitting.
                               ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            if [ -f "$gnome_dir"/"$basefile" ] ; then


In /usr/bin/xdg-desktop-menu line 1375:
                echo "OnlyShowIn=Old;" >> $gnome_dir/$basefile
                                          ^--------^ SC2086: Double quote to prevent globbing and word splitting.
                                                     ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
                echo "OnlyShowIn=Old;" >> "$gnome_dir"/"$basefile"


In /usr/bin/xdg-desktop-menu line 1380:
            umask $save_umask
                  ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
            umask "$save_umask"


In /usr/bin/xdg-desktop-menu line 1385:
                rm -f $x/$basefile
                      ^-- SC2086: Double quote to prevent globbing and word splitting.
                         ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
                rm -f "$x"/"$basefile"


In /usr/bin/xdg-desktop-menu line 1396:
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/SC2039 -- In POSIX sh, 'local' is undefined.
  https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...