In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 6:
	local timeout=$3
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
                      ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	local timeout="$3"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 7:
	local timer
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 8:
	local do_keypress
        ^---------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 9:
	local keypress_true="$(mktemp)"
        ^-----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^-----------^ SC2155 (warning): Declare and assign separately to avoid masking return values.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 10:
	local keypress_wait="$(mktemp)"
        ^-----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^-----------^ SC2155 (warning): Declare and assign separately to avoid masking return values.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 11:
	local keypress_sec="$(mktemp)"
        ^----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^----------^ SC2155 (warning): Declare and assign separately to avoid masking return values.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 25:
	trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" INT
                           ^------------^ SC2064 (warning): Use single quotes, otherwise this expands now rather than when signalled.
                                                   ^------------^ SC2064 (warning): Use single quotes, otherwise this expands now rather than when signalled.
                                                                          ^------------^ SC2064 (warning): Use single quotes, otherwise this expands now rather than when signalled.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 26:
	trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" USR1
                           ^------------^ SC2064 (warning): Use single quotes, otherwise this expands now rather than when signalled.
                                                   ^------------^ SC2064 (warning): Use single quotes, otherwise this expands now rather than when signalled.
                                                                          ^------------^ SC2064 (warning): Use single quotes, otherwise this expands now rather than when signalled.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 29:
	[ $timeout -ge 1 ] || timeout=1
          ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$timeout" -ge 1 ] || timeout=1


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 31:
	lock $keypress_wait
             ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	lock "$keypress_wait"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 33:
		while [ $timer -gt 0 ]; do
                        ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		while [ "$timer" -gt 0 ]; do


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 34:
			echo "$timer" >$keypress_sec
                                       ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			echo "$timer" >"$keypress_sec"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 35:
			timer=$(($timer - 1))
                                 ^----^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 38:
		lock -u $keypress_wait
                        ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		lock -u "$keypress_wait"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 39:
		rm -f $keypress_wait
                      ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		rm -f "$keypress_wait"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 42:
	[ "$pi_preinit_no_failsafe" != "y" ] && echo "Press the [$1] key and hit [enter] $2"
           ^---------------------^ SC2154 (warning): pi_preinit_no_failsafe is referenced but not assigned.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 46:
		while [ -r $keypress_wait ]; do
                           ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		while [ -r "$keypress_wait" ]; do


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 47:
			timer="$(cat $keypress_sec)"
                                     ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			timer="$(cat "$keypress_sec")"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 51:
			[ $timer -ge 1 ] || timer=1
                          ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			[ "$timer" -ge 1 ] || timer=1


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 54:
				read -t "$timer" do_keypress
                                ^--^ SC2162 (info): read without -r will mangle backslashes.
                                     ^-- SC3045 (warning): In POSIX sh, read -t is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 56:
				$1)
                                ^-- SC2254 (warning): Quote expansions in case patterns to match literally rather than as a glob.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 57:
					echo "true" >$keypress_true
                                                     ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
					echo "true" >"$keypress_true"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 66:
				lock -u $keypress_wait
                                        ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				lock -u "$keypress_wait"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 67:
				rm -f $keypress_wait
                                      ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				rm -f "$keypress_wait"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 71:
	lock -w $keypress_wait
                ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	lock -w "$keypress_wait"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 74:
	[ "$(cat $keypress_true)" = "true" ] && keypressed=0
                 ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$(cat "$keypress_true")" = "true" ] && keypressed=0


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 76:
	rm -f $keypress_true
              ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	rm -f "$keypress_true"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 77:
	rm -f $keypress_wait
              ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	rm -f "$keypress_wait"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 78:
	rm -f $keypress_sec
              ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	rm -f "$keypress_sec"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 86:
		fs_wait_for_key "" "" $fs_failsafe_wait_timeout
                                      ^-----------------------^ SC2154 (warning): fs_failsafe_wait_timeout is referenced but not assigned.
                                      ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		fs_wait_for_key "" "" "$fs_failsafe_wait_timeout"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 93:
		pi_failsafe_net_message=false
                ^---------------------^ SC2034 (warning): pi_failsafe_net_message appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 94:
		fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true
                                                           ^-----------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		fs_wait_for_key f 'to enter failsafe mode' "$fs_failsafe_wait_timeout" && FAILSAFE=true


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/preinit/30_failsafe_wait line 95:
		[ -f "/tmp/failsafe_button" ] && FAILSAFE=true && echo "- failsafe button "`cat /tmp/failsafe_button`" was pressed -"
                                                                                           ^------------------------^ SC2046 (warning): Quote this to prevent word splitting.
                                                                                           ^------------------------^ SC2006 (style): Use $(...) notation instead of legacy backticks `...`.

Did you mean: 
		[ -f "/tmp/failsafe_button" ] && FAILSAFE=true && echo "- failsafe button "$(cat /tmp/failsafe_button)" was pressed -"

For more information:
  https://www.shellcheck.net/wiki/SC2034 -- pi_failsafe_net_message appears u...
  https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...
  https://www.shellcheck.net/wiki/SC2064 -- Use single quotes, otherwise this...