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...