In /usr/bin/lcf line 21:
progname="$(basename $0)"
                     ^-- SC2086: Double quote to prevent globbing and word splitting.

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


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


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


In /usr/bin/lcf line 135:
if [ "X$source_dir" = "X" ]; then
       ^---------^ SC2154: source_dir is referenced but not assigned.


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


In /usr/bin/lcf line 150:
if [ "X$dest_file" = "X" ]; then
       ^--------^ SC2154: dest_file is referenced but not assigned.


In /usr/bin/lcf line 155:
old_mdsum_dir="$source_dir/$(basename ${new_file}).md5sum.d";
                                      ^---------^ SC2154: new_file is referenced but not assigned.
                                      ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
old_mdsum_dir="$source_dir/$(basename "${new_file}").md5sum.d";


In /usr/bin/lcf line 156:
old_mdsum_file="$source_dir/$(basename ${new_file}).md5sum";
                                       ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
old_mdsum_file="$source_dir/$(basename "${new_file}").md5sum";


In /usr/bin/lcf line 159:
if [ -e "$statedir/hashfile" -a ! -r "$statedir/hashfile" ]; then
                             ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.


In /usr/bin/lcf line 215:
if [ -d "$old_mdsum_dir" -o -f "$old_mdsum_file" ]; then
                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/lcf line 217:
	for file in ${old_mdsum_dir}/*; do
                    ^--------------^ SC2231: Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /usr/bin/lcf line 218:
	    oldsum="$(awk '{print $1}' $file)";
                                       ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
	    oldsum="$(awk '{print $1}' "$file")";


In /usr/bin/lcf line 219:
	    if [ "$oldsum" = "$destsum"  ]; then
                              ^------^ SC2154: destsum is referenced but not assigned.


In /usr/bin/lcf line 221:
		echo "$(awk '{print $2}' $file)";
                     ^-------------------------^ SC2005: Useless echo? Instead of 'echo $(cmd)', just use 'cmd'.
                                         ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
		echo "$(awk '{print $2}' "$file")";


In /usr/bin/lcf line 229:
	    echo  $(grep "^${destsum}" "$old_mdsum_file" | awk '{print $2}')
                  ^-- SC2046: Quote this to prevent word splitting.
                  ^-- SC2005: Useless echo? Instead of 'echo $(cmd)', just use 'cmd'.

For more information:
  https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...
  https://www.shellcheck.net/wiki/SC2154 -- conf_source_dir is referenced but...
  https://www.shellcheck.net/wiki/SC2166 -- Prefer [ p ] && [ q ] as [ p -a q...