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