In /usr/bin/gvmap.sh line 21: case $c in ^-- SC2213: getopts specified --, but it's not handled by this 'case'. ^-- SC2213: getopts specified -a, but it's not handled by this 'case'. In /usr/bin/gvmap.sh line 22: v ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 28: V ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 32: K ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 35: A ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 38: T ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 41: e ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 44: n ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 47: g ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 50: E ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 53: N ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 56: G ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 59: o ) ^-- SC2214: This case is not specified by getopts. In /usr/bin/gvmap.sh line 63: print -u 2 $OPTARG requires a value ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: print -u 2 "$OPTARG" requires a value In /usr/bin/gvmap.sh line 69: getopts -a gvmap "$OPTSTR" x '-?' ^---^ SC2034: gvmap appears unused. Verify use (or export if used externally). In /usr/bin/gvmap.sh line 81: if [ -n $VERBOSE ] ^------^ SC2070: -n doesn't work with unquoted arguments. Quote or use [[ ]]. In /usr/bin/gvmap.sh line 85: $LAYOUT -Goverlap=prism $FLAGS1 | gvmap $FLAGS2 | neato -n2 $FLAGS3 ^-----^ SC2086: Double quote to prevent globbing and word splitting. ^-----^ SC2086: Double quote to prevent globbing and word splitting. ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: $LAYOUT -Goverlap=prism "$FLAGS1" | gvmap "$FLAGS2" | neato -n2 "$FLAGS3" In /usr/bin/gvmap.sh line 87: while $(( $# > 0 )) ^-----------^ SC2084: Remove '$' or use '_=$((expr))' to avoid executing output. In /usr/bin/gvmap.sh line 89: if [ -f $1 ] ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: if [ -f "$1" ] In /usr/bin/gvmap.sh line 91: if [ -n $VERBOSE ] ^------^ SC2070: -n doesn't work with unquoted arguments. Quote or use [[ ]]. In /usr/bin/gvmap.sh line 95: $LAYOUT -Goverlap=prism $FLAGS1 $1 | gvmap $FLAGS2 | neato -n2 $FLAGS3 ^-----^ SC2086: Double quote to prevent globbing and word splitting. ^-- SC2086: Double quote to prevent globbing and word splitting. ^-----^ SC2086: Double quote to prevent globbing and word splitting. ^-----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: $LAYOUT -Goverlap=prism "$FLAGS1" "$1" | gvmap "$FLAGS2" | neato -n2 "$FLAGS3" For more information: https://www.shellcheck.net/wiki/SC2070 -- -n doesn't work with unquoted arg... https://www.shellcheck.net/wiki/SC2084 -- Remove '$' or use '_=$((expr))' t... https://www.shellcheck.net/wiki/SC2034 -- gvmap appears unused. Verify use ...