tree eb9a8db4e454e4e09a864a42b48147fa80a19fb1
parent 5a60265e41769b7e1d176bda075738326c9ee2d8
author Simon Marchi <simon.marchi@efficios.com> 1758314654 -0400
committer Simon Marchi <simon.marchi@polymtl.ca> 1758328137 -0400

gdb: make gcore-1.in and gstack-1.in shellcheck-clean

Fix all the warnings pasted below, mostly by accepting shellcheck's
suggestions.

The only exception is $GDBARGS in gstack.  There, we actually want the
space-splitting, I suppose, so I chose to just ignore the warning on
that line.  In any case, I'm not looking to change the existing behavior
in this patch.

The warnings:

    $ shellcheck gstack-1.in gcore-1.in

    In gstack-1.in line 135:
    "$GDB" --quiet -nx $GDBARGS <<EOF |
                       ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

    Did you mean:
    "$GDB" --quiet -nx "$GDBARGS" <<EOF |

    In gcore-1.in line 130:
    binary_path=`dirname "$0"`
                ^------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`.

    Did you mean:
    binary_path=$(dirname "$0")

    In gcore-1.in line 132:
    if test "x$binary_path" = x. ; then
            ^-------------^ SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose.

    Did you mean:
    if test "$binary_path" = . ; then

    In gcore-1.in line 136:
      binary_basename=`basename "$0"`
                      ^-------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`.

    Did you mean:
      binary_basename=$(basename "$0")

    In gcore-1.in line 150:
        binary_path_from_env=`which "$0"`
                             ^----------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`.

    Did you mean:
        binary_path_from_env=$(which "$0")

    In gcore-1.in line 151:
        binary_path=`dirname "$binary_path_from_env"`
                    ^-- SC2006 (style): Use $(...) notation instead of legacy backticks `...`.

    Did you mean:
        binary_path=$(dirname "$binary_path_from_env")

    In gcore-1.in line 159:
    gdb_binary_basename=`basename "$gdb_binary"`
                        ^----------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`.

    Did you mean:
    gdb_binary_basename=$(basename "$gdb_binary")

    For more information:
      https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...
      https://www.shellcheck.net/wiki/SC2006 -- Use $(...) notation instead of le...
      https://www.shellcheck.net/wiki/SC2268 -- Avoid x-prefix in comparisons as ...

Change-Id: I0eeaf5dc968df1ebafce58d9a9053d149f7f7859
Reviewed-By: Sébastien Darche <sdarche@efficios.com>
Reviewed-By: Keith Seitz <keiths@redhat.com>
