In /usr/bin/zipgrep line 28:
  echo usage: `basename "$0"` "[egrep_options] pattern zipfile [members...]"
              ^-------------^ SC2046: Quote this to prevent word splitting.
              ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
  echo usage: $(basename "$0") "[egrep_options] pattern zipfile [members...]"


In /usr/bin/zipgrep line 36:
opt=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
    ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
opt=$(echo "$opt" | sed -e 's/ //g' -e 's/-//g')


In /usr/bin/zipgrep line 38:
  *l*) list=1; opt=`echo $opt | sed s/l//`
                   ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                         ^--^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  *l*) list=1; opt=$(echo "$opt" | sed s/l//)


In /usr/bin/zipgrep line 52:
pat=` echo "$pat" | \
    ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
pat=$( echo "$pat" | \
 sed -e 's/\\\\/\\\\\\\\/g' -e 's/|/\\\|/g' -e 's/&/\\\&/g' )


In /usr/bin/zipgrep line 57:
for i in `unzip -Z1 "$zipfile" ${1+"$@"} | sed -e 's/\\\\/\\\\\\\\/g' `; do
         ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
for i in $(unzip -Z1 "$zipfile" ${1+"$@"} | sed -e 's/\\\\/\\\\\\\\/g' ); do


In /usr/bin/zipgrep line 61:
     egrep $opt "$pat" > /dev/null && echo "$i"
     ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.
           ^--^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
     egrep "$opt" "$pat" > /dev/null && echo "$i"


In /usr/bin/zipgrep line 67:
     egrep $opt "$pat"
     ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.
           ^--^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
     egrep "$opt" "$pat"


In /usr/bin/zipgrep line 72:
    i=` echo "$i" | \
      ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
    i=$( echo "$i" | \
     sed -e 's/\\\\/\\\\\\\\/g' -e 's/|/\\\|/g' -e 's/&/\\\&/g' )


In /usr/bin/zipgrep line 79:
    status_grep=` ( \
                ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                                             ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead.
                                                                   ^--^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    status_grep=$( ( \
     ( unzip -p-L "$zipfile" "$i" | \
     eg"rep "$opt "$pat" 1>&4 ; echo $? >&3 ) 4>&1 | \
     sed "s|^|${i}:|" 1>&4 \
     ) 3>&1 )

For more information:
  https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...
  https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...
  https://www.shellcheck.net/wiki/SC2196 -- egrep is non-standard and depreca...