In /usr/bin/funindex line 7: gz=cat ^-- SC2209: Use var=$(command) to assign output (or quote to assign string). In /usr/bin/funindex line 61: IDX1=`basename $FILE | sed 's/\(.*\)\.[^.]*/\1/g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: IDX1=$(basename "$FILE" | sed 's/\(.*\)\.[^.]*/\1/g') In /usr/bin/funindex line 65: IDX2=`echo $KEYS | sed 's/ /_/g'` ^--------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: IDX2=$(echo "$KEYS" | sed 's/ /_/g') In /usr/bin/funindex line 81: funtable $FILE stdout "-N" | \ ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: funtable "$FILE" stdout "-N" | \ In /usr/bin/funindex line 83: fundisp -T stdin'[1]' "$ROWS2" > $IDX ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: fundisp -T stdin'[1]' "$ROWS2" > "$IDX" In /usr/bin/funindex line 85: funtable $FILE stdout "-N" | \ ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: funtable "$FILE" stdout "-N" | \ In /usr/bin/funindex line 87: funtable stdin'[1]' $IDX "$ROWS2" ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: funtable stdin'[1]' "$IDX" "$ROWS2" In /usr/bin/funindex line 90: gzip $IDX ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: gzip "$IDX" In /usr/bin/funindex line 94: if [ -s $IDX ]; then ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: if [ -s "$IDX" ]; then For more information: https://www.shellcheck.net/wiki/SC2209 -- Use var=$(command) to assign outp... https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... https://www.shellcheck.net/wiki/SC2006 -- Use $(...) notation instead of le...