In /usr/bin/yelp-check line 24:
xsl_mal_rng='/usr/share/yelp-tools/xslt/mal-rng.xsl'
^---------^ SC2034: xsl_mal_rng appears unused. Verify use (or export if used externally).


In /usr/bin/yelp-check line 285:
            if [ $(basename "$dir") != "__pintail__" ]; then
                 ^----------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 310:
        elif [ "x$ext" = "xpage" -o "x$ext" = "xstub" -o "x$ext" = "xcache" ]; then
                                 ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                                      ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 312:
	elif [ "x$check_db" != "x" -a \( "x$ext" = "xdocbook" -o "x$ext" = "xxml" \) ]; then
                                   ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
                                                              ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 325:
        sdir=$(cd $(dirname "$1") && pwd)
                  ^-------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 358:
        while read id url; do
              ^--^ SC2162: read without -r will mangle backslashes.


In /usr/bin/yelp-check line 359:
            colon=`echo "$url" | cut -d: -f1`
                  ^-------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
            colon=$(echo "$url" | cut -d: -f1)


In /usr/bin/yelp-check line 361:
                test -f "$base/"$(urldecode "$url") || echo "$sdir$id: $url"
                                ^-----------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 363:
                status=$(cat "$check_href_cache" | while read trystatus tryurl; do
                             ^-----------------^ SC2002: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead.
                                                         ^--^ SC2162: read without -r will mangle backslashes.


In /usr/bin/yelp-check line 374:
                        && (echo "1 $url" >> "$check_href_cache") \
                        ^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.


In /usr/bin/yelp-check line 382:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 398:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 402:
    check_out_file=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                   ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    check_out_file=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 403:
    check_href_cache=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                     ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    check_href_cache=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 435:
            sdir=$(cd $(dirname "$1") && pwd)
                      ^-------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 437:
            echo $sdir$(basename "$1")": $pageid"
                 ^---^ SC2086: Double quote to prevent globbing and word splitting.
                      ^--------------^ SC2046: Quote this to prevent word splitting.

Did you mean: 
            echo "$sdir"$(basename "$1")": $pageid"


In /usr/bin/yelp-check line 448:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 464:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 500:
        sdir=$(cd $(dirname "$1") && pwd)
                  ^-------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 511:
        xsl='file://'`urlencode "$xsl_mal_link"`
                     ^-------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        xsl='file://'$(urlencode "$xsl_mal_link")


In /usr/bin/yelp-check line 513:
        check_cache_url='file://'`urlencode "$check_cache_file"`
                                 ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        check_cache_url='file://'$(urlencode "$check_cache_file")


In /usr/bin/yelp-check line 530:
        echo '  <xsl:for-each select="$mal.cache">'
             ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/yelp-check line 531:
        echo '   <xsl:if test="count(key('"'mal.cache.key'"', $linkid) | '
                                                           ^-------------^ SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/yelp-check line 532:
        echo '                       key('"'__site.cache.key'"', $linkid)) = 0">'
                                                              ^-----------------^ SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/yelp-check line 533:
        echo '    <xsl:value-of select="$site.dir"/>'
             ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/yelp-check line 534:
        echo '    <xsl:value-of select="$page"/>'
             ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/yelp-check line 536:
        echo '    <xsl:value-of select="$xref"/>'
             ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/yelp-check line 547:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 572:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 588:
                break
                ^---^ SC2104: In functions, use return instead of break.


In /usr/bin/yelp-check line 602:
    check_out_file=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                   ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    check_out_file=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 635:
        while read line; do
              ^--^ SC2162: read without -r will mangle backslashes.


In /usr/bin/yelp-check line 644:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 660:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 664:
    check_out_file=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                   ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    check_out_file=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 679:
        sdir=$(cd $(dirname "$1") && pwd)
                  ^-------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 689:
        xsl='file://'`urlencode "$xsl_mal_link"`
                     ^-------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        xsl='file://'$(urlencode "$xsl_mal_link")


In /usr/bin/yelp-check line 691:
        check_cache_url='file://'`urlencode "$check_cache_file"`
                                 ^-----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        check_cache_url='file://'$(urlencode "$check_cache_file")


In /usr/bin/yelp-check line 699:
        echo ' <xsl:if test="@id != '"'index'"' and count(exsl:node-set($trails)/*) = 0">'
                                              ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/yelp-check line 700:
        echo '  <xsl:value-of select="$site.dir"/>'
             ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.


In /usr/bin/yelp-check line 710:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 731:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 747:
                break
                ^---^ SC2104: In functions, use return instead of break.


In /usr/bin/yelp-check line 761:
    check_out_file=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                   ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    check_out_file=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 781:
        sdir=$(cd $(dirname "$1") && pwd)
                  ^-------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 790:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 806:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 818:
        sdir=$(cd $(dirname "$1") && pwd)
                  ^-------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 830:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 860:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 878:
        sdir=$(cd $(dirname "$1") && pwd)
                  ^-------------^ SC2046: Quote this to prevent word splitting.


In /usr/bin/yelp-check line 889:
            for pstyle in "$style"; do
                          ^------^ SC2066: Since you double quoted this, it will not word split, and the loop will only run once.


In /usr/bin/yelp-check line 905:
            for pstyle in "$style"; do
                          ^------^ SC2066: Since you double quoted this, it will not word split, and the loop will only run once.


In /usr/bin/yelp-check line 922:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 954:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 962:
            while read line; do
                  ^--^ SC2162: read without -r will mangle backslashes.


In /usr/bin/yelp-check line 979:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 1034:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 1038:
    check_cache_file=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                     ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    check_cache_file=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 1062:
        check_out_file=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                       ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
        check_out_file=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 1081:
                check_rng_file=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                               ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
                check_rng_file=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 1088:
        cat "$check_out_file" | grep -v 'validates$'
            ^---------------^ SC2002: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead.


In /usr/bin/yelp-check line 1099:
    check_out_file=`mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX`
                   ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    check_out_file=$(mktemp "${TMPDIR:-/tmp}"/yelp-XXXXXXXX)


In /usr/bin/yelp-check line 1107:
    cat "$check_out_file" | grep -v 'validates$'
        ^---------------^ SC2002: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead.


In /usr/bin/yelp-check line 1113:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 1127:
                check_strict="true()"
                ^----------^ SC2034: check_strict appears unused. Verify use (or export if used externally).


In /usr/bin/yelp-check line 1144:
    if [ "$#" = "0" -o "x$1" = "x--help" -o "x$1" = "x-h" ]; then
                    ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
                                         ^-- SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.


In /usr/bin/yelp-check line 1151:
    if [ "x$check_rng_dir" != "x" ]; then
           ^------------^ SC2154: check_rng_dir is referenced but not assigned.

For more information:
  https://www.shellcheck.net/wiki/SC2066 -- Since you double quoted this, it ...
  https://www.shellcheck.net/wiki/SC2104 -- In functions, use return instead ...
  https://www.shellcheck.net/wiki/SC2034 -- check_strict appears unused. Veri...