In /usr/bin/chromeos-tpm-recovery line 15:
awk=/usr/bin/awk
^-^ SC2034: awk appears unused. Verify use (or export if used externally).


In /usr/bin/chromeos-tpm-recovery line 33:
  local fwid=$(crossystem ro_fwid)
  ^--------^ SC2039: In POSIX sh, 'local' is undefined.
        ^--^ SC2155: Declare and assign separately to avoid masking return values.


In /usr/bin/chromeos-tpm-recovery line 34:
  local major=$(printf "$fwid" | cut -d. -f2)
  ^---------^ SC2039: In POSIX sh, 'local' is undefined.
        ^---^ SC2155: Declare and assign separately to avoid masking return values.
                       ^-----^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo".


In /usr/bin/chromeos-tpm-recovery line 35:
  local minor=$(printf "$fwid" | cut -d. -f3)
  ^---------^ SC2039: In POSIX sh, 'local' is undefined.
        ^---^ SC2155: Declare and assign separately to avoid masking return values.
                       ^-----^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo".


In /usr/bin/chromeos-tpm-recovery line 45:
  if [ $major -eq $major ] && [ $minor -eq $minor ] && [ $major -ne $minor ]; then
       ^----^ 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.
                                                         ^----^ SC2086: Double quote to prevent globbing and word splitting.
                                                                    ^----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  if [ "$major" -eq "$major" ] && [ "$minor" -eq "$minor" ] && [ "$major" -ne "$minor" ]; then


In /usr/bin/chromeos-tpm-recovery line 47:
    if [ $major -lt 12953 ]; then
         ^----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ "$major" -lt 12953 ]; then


In /usr/bin/chromeos-tpm-recovery line 96:
  if ! $tpmc write $1 $2; then
                   ^-- SC2086: Double quote to prevent globbing and word splitting.
                      ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  if ! $tpmc write "$1" "$2"; then


In /usr/bin/chromeos-tpm-recovery line 104:
  local index=$1
  ^---------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/chromeos-tpm-recovery line 105:
  local bytes="$2"
  ^---------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/chromeos-tpm-recovery line 106:
  local size=$(printf "$bytes" | wc -w)
  ^--------^ SC2039: In POSIX sh, 'local' is undefined.
        ^--^ SC2155: Declare and assign separately to avoid masking return values.
                      ^------^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo".


In /usr/bin/chromeos-tpm-recovery line 107:
  local permissions=0x8001
  ^---------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/chromeos-tpm-recovery line 112:
    if ! $tpmc definespace $index $size $permissions; then
                           ^----^ SC2086: Double quote to prevent globbing and word splitting.
                                  ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if ! $tpmc definespace "$index" "$size" $permissions; then


In /usr/bin/chromeos-tpm-recovery line 118:
  write_space $index "$bytes"
              ^----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  write_space "$index" "$bytes"


In /usr/bin/chromeos-tpm-recovery line 122:
  local index=$1
  ^---------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/chromeos-tpm-recovery line 123:
  local bytes="$2"
  ^---------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/chromeos-tpm-recovery line 124:
  local size=$(printf "$bytes" | wc -w)
  ^--------^ SC2039: In POSIX sh, 'local' is undefined.
        ^--^ SC2155: Declare and assign separately to avoid masking return values.
                      ^------^ SC2059: Don't use variables in the printf format string. Use printf '..%s..' "$foo".


In /usr/bin/chromeos-tpm-recovery line 125:
  local permissions=0x1
  ^---------------^ SC2039: In POSIX sh, 'local' is undefined.


In /usr/bin/chromeos-tpm-recovery line 131:
  if ! $tpmc definespace $index $size $permissions; then
                         ^----^ SC2086: Double quote to prevent globbing and word splitting.
                                ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  if ! $tpmc definespace "$index" "$size" $permissions; then


In /usr/bin/chromeos-tpm-recovery line 136:
  write_space $index "$bytes"
              ^----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  write_space "$index" "$bytes"


In /usr/bin/chromeos-tpm-recovery line 158:
if ! $($crossystem mainfw_type?recovery); then
     ^-- SC2091: Remove surrounding $() to avoid executing output.

For more information:
  https://www.shellcheck.net/wiki/SC2034 -- awk appears unused. Verify use (o...
  https://www.shellcheck.net/wiki/SC2039 -- In POSIX sh, 'local' is undefined.
  https://www.shellcheck.net/wiki/SC2091 -- Remove surrounding $() to avoid e...