In /usr/bin/ucfr line 62:
    old_pkg=$(egrep "[[:space:]]${real_conf_file_re}$" "$statedir/registry" | \
              ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.


In /usr/bin/ucfr line 64:
    if [ "$pkg" != "$old_pkg"  ]; then
          ^--^ SC2154: pkg is referenced but not assigned.


In /usr/bin/ucfr line 76:
		cp -f "${statedir}/registry.${i}"  "${statedir}/registry.$(($i + 1))"
                                                                            ^-- SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/ucfr line 78:
		echo cp -f "${statedir}/registry.${i}" "${statedir}/registry.$(($i + 1))"
                                                                                ^-- SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/ucfr line 94:
	egrep -v "[[:space:]]${real_conf_file_re}$" "$statedir/registry" > \
        ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.


In /usr/bin/ucfr line 111:
        old_pkg=$(egrep "[[:space:]]${real_conf_file_re}$" "$statedir/registry" | \
                  ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.


In /usr/bin/ucfr line 116:
                echo >&2 "$progname: Attempt from package $pkg  to take ${real_conf_file} away from package $old_pkg";
                                                                        ^---------------^ SC2154: real_conf_file is referenced but not assigned.


In /usr/bin/ucfr line 132:
		    "${statedir}/registry.$(($i + 1))"
                                             ^-- SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/ucfr line 135:
		    "${statedir}/registry.$(($i + 1))"
                                             ^-- SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/ucfr line 152:
	egrep -v "[[:space:]]${real_conf_file_re}$" "$statedir/registry" > \
        ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.


In /usr/bin/ucfr line 200:
DEBUG=0
^---^ SC2034: DEBUG appears unused. Verify use (or export if used externally).


In /usr/bin/ucfr line 203:
THREEWAY=
^------^ SC2034: THREEWAY appears unused. Verify use (or export if used externally).


In /usr/bin/ucfr line 212:
if [ $? != 0 ] ; then
     ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/ucfr line 261:
setq real_conf_file "$(readlink -q -m $conf_file)" "The (real) Configuration file";
                                      ^--------^ SC2154: conf_file is referenced but not assigned.
                                      ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
setq real_conf_file "$(readlink -q -m "$conf_file")" "The (real) Configuration file";


In /usr/bin/ucfr line 263:
pkg_re="$(echo $pkg       | sed -e 's,+,\\+,')"
^----^ SC2034: pkg_re appears unused. Verify use (or export if used externally).
               ^--^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
pkg_re="$(echo "$pkg"       | sed -e 's,+,\\+,')"


In /usr/bin/ucfr line 264:
conf_file_re="$(echo $conf_file | sed -e 's,+,\\+,')"
                     ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
conf_file_re="$(echo "$conf_file" | sed -e 's,+,\\+,')"


In /usr/bin/ucfr line 265:
real_conf_file_re="$(echo $real_conf_file | sed -e 's,+,\\+,')"
                          ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
real_conf_file_re="$(echo "$real_conf_file" | sed -e 's,+,\\+,')"


In /usr/bin/ucfr line 279:
    . /etc/ucf.conf
      ^-----------^ SC1091: Not following: /etc/ucf.conf was not specified as input (see shellcheck -x).


In /usr/bin/ucfr line 287:
elif [ ! "x$conf_state_dir" = "x" ]; then
           ^-------------^ SC2154: conf_state_dir is referenced but not assigned.


In /usr/bin/ucfr line 299:
if [ -e "$statedir/registry" -a ! -w "$statedir/registry" ]; then
                             ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.


In /usr/bin/ucfr line 321:
count=$(egrep --count "[[:space:]]${real_conf_file_re}$" "$statedir/registry") || true
        ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.


In /usr/bin/ucfr line 325:
    egrep "[[:space:]]${real_conf_file_re}$" "$statedir/registry";
    ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.

For more information:
  https://www.shellcheck.net/wiki/SC2034 -- DEBUG appears unused. Verify use ...
  https://www.shellcheck.net/wiki/SC2154 -- conf_file is referenced but not a...
  https://www.shellcheck.net/wiki/SC2166 -- Prefer [ p ] && [ q ] as [ p -a q...