In /usr/bin/x11perfcomp line 28: tmp=`$MKTEMP -p /tmp -d rates.XXXXXX` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: tmp=$($MKTEMP -p /tmp -d rates.XXXXXX) In /usr/bin/x11perfcomp line 32: mkdir $tmp || exit 1 ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: mkdir "$tmp" || exit 1 In /usr/bin/x11perfcomp line 34: trap "rm -rf $tmp" 0 1 2 15 ^--^ SC2064: Use single quotes, otherwise this expands now rather than when signalled. In /usr/bin/x11perfcomp line 35: mkdir $tmp/rates ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: mkdir "$tmp"/rates In /usr/bin/x11perfcomp line 52: -l) cp $2 $tmp/labels ^-- SC2086: Double quote to prevent globbing and word splitting. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: -l) cp "$2" "$tmp"/labels In /usr/bin/x11perfcomp line 56: awk '$2 == "reps" || $2 == "trep" { print $0; next; }' $file | ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: awk '$2 == "reps" || $2 == "trep" { print $0; next; }' "$file" | In /usr/bin/x11perfcomp line 59: awk 'NR > 1 { printf ("%s %s\n", prev, $0); } \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 61: done | tsort 2>/dev/null | sed 's/_/ /g' > $tmp/labels ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: done | tsort 2>/dev/null | sed 's/_/ /g' > "$tmp"/labels In /usr/bin/x11perfcomp line 70: base=`basename $i` ^--^ SC2034: base appears unused. Verify use (or export if used externally). ^-----------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: base=$(basename "$i") In /usr/bin/x11perfcomp line 73: awk '$2 == "reps" || $2 == "trep" { \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 74: line = $0; \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 75: next; \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 76: } \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 77: NF == 0 && line != "" { \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 78: print line; \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 79: line=""; \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 80: next; \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 81: } \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 82: ' $i > $tmp/$n.avg ^-- SC2086: Double quote to prevent globbing and word splitting. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: ' "$i" > "$tmp"/$n.avg In /usr/bin/x11perfcomp line 83: fillblnk $tmp/$n.avg $tmp/labels | ^--^ SC2086: Double quote to prevent globbing and word splitting. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: fillblnk "$tmp"/$n.avg "$tmp"/labels | In /usr/bin/x11perfcomp line 85: awk '$2 == "reps" || $2 == "trep" { \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 86: n = substr($6,2,length($6)-7); \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 87: printf "%8s\n", n; \ ^-- SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line. In /usr/bin/x11perfcomp line 89: ) > $tmp/rates/$n ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: ) > "$tmp"/rates/$n In /usr/bin/x11perfcomp line 92: n=`expr $n + 1` ^-----------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2003: expr is antiquated. Consider rewriting this using $((..)), ${} or [[ ]]. Did you mean: n=$(expr $n + 1) In /usr/bin/x11perfcomp line 106: (echo Operation; echo '---------'; cat $tmp/labels) | ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: (echo Operation; echo '---------'; cat "$tmp"/labels) | In /usr/bin/x11perfcomp line 107: paste $allfiles - | sed 's/ / /g' | $ratio ^-------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: paste "$allfiles" - | sed 's/ / /g' | $ratio In /usr/bin/x11perfcomp line 108: rm -rf $tmp ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: rm -rf "$tmp" For more information: https://www.shellcheck.net/wiki/SC2034 -- base appears unused. Verify use (... https://www.shellcheck.net/wiki/SC2064 -- Use single quotes, otherwise this... https://www.shellcheck.net/wiki/SC1004 -- This backslash+linefeed is litera...