In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 12:
N="
^-- SC2034 (warning): N appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 17:
LOAD_STATE=1
^--------^ SC2034 (warning): LOAD_STATE appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 21:
	local var="$1"
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 22:
	local value="$2"
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 23:
	local sep="${3:- }"
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^-^ SC2034 (warning): sep appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 29:
	local var="$1"
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 30:
	local str="$2"
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 31:
	local val
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 34:
	[ "${val%% $str *}" != "$val" ]
                   ^--^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.

Did you mean: 
	[ "${val%% "$str" *}" != "$val" ]


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 54:
	local cfgtype="$1"
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 55:
	local name="$2"
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 57:
	export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=$(($CONFIG_NUM_SECTIONS + 1))
                                                       ^------------------^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 66:
	local varname="$1"; shift
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 67:
	local value="$*"
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 74:
	local varname="$1"; shift
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 75:
	local value="$*"
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 76:
	local len
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 79:
	[ $len = 0 ] && append CONFIG_LIST_STATE "${CONFIG_SECTION}_${varname}"
          ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$len" = 0 ] && append CONFIG_LIST_STATE "${CONFIG_SECTION}_${varname}"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 80:
	len=$(($len + 1))
               ^--^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 102:
	local _tmp
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 113:
	local section="$1"
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 114:
	local option="$2"
        ^----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 115:
	local value="$3"
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 121:
	local ___function="$1"
        ^---------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 123:
	local ___type="$1"
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 125:
	local section cfgtype
        ^-------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 130:
		[ -n "$___type" -a "x$cfgtype" != "x$___type" ] && continue
                                ^-- SC2166 (warning): Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 137:
	local section="$1"; shift
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 138:
	local option="$1"; shift
        ^----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 139:
	local function="$1"; shift
        ^------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 140:
	local val
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 141:
	local len
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 142:
	local c=1
        ^-----^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 149:
		c="$(($c + 1))"
                      ^-- SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 154:
	local root="${IPKG_INSTROOT}"
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 155:
	local pkgname="$(basename ${1%.*})"
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values.
                                  ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	local pkgname="$(basename "${1%.*}")"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 156:
	local ret=0
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 159:
		( . "$root/usr/lib/opkg/info/${pkgname}.prerm-pkg" )
                    ^-- SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 163:
	local shell="$(which bash)"
        ^---------^ 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/functions.sh line 164:
	for i in $(grep -s "^/etc/init.d/" "$root/usr/lib/opkg/info/${pkgname}.list"); do
                 ^-- SC2013 (info): To read lines rather than words, pipe/redirect to a 'while read' loop.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 179:
	local pkgname="$1"
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 180:
	local rusers="$(sed -ne 's/^Require-User: *//p' $root/usr/lib/opkg/info/${pkgname}.control 2>/dev/null)"
        ^----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^----^ SC2155 (warning): Declare and assign separately to avoid masking return values.
                                                        ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                                ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	local rusers="$(sed -ne 's/^Require-User: *//p' "$root"/usr/lib/opkg/info/"${pkgname}".control 2>/dev/null)"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 183:
		local tuple oIFS="$IFS"
                ^--------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 185:
			local uid gid uname gname
                        ^-----------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 188:
			set -- $tuple; uname="$1"; gname="$2"
                               ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			set -- "$tuple"; uname="$1"; gname="$2"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 190:
			set -- $uname; uname="$1"; uid="$2"
                               ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			set -- "$uname"; uname="$1"; uid="$2"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 191:
			set -- $gname; gname="$1"; gid="$2"
                               ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			set -- "$gname"; gname="$1"; gid="$2"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 214:
	local root="${IPKG_INSTROOT}"
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 215:
	local pkgname="$(basename ${1%.*})"
        ^-----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^-----^ SC2155 (warning): Declare and assign separately to avoid masking return values.
                                  ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	local pkgname="$(basename "${1%.*}")"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 216:
	local ret=0
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 221:
		( . "$root/usr/lib/opkg/info/${pkgname}.postinst-pkg" )
                    ^-- SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 226:
		cp -R $root/rootfs-overlay/. $root/
                      ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                             ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		cp -R "$root"/rootfs-overlay/. "$root"/


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 227:
		rm -fR $root/rootfs-overlay/
                       ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		rm -fR "$root"/rootfs-overlay/


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 235:
		. /lib/functions/system.sh
                  ^----------------------^ SC1091 (info): Not following: /lib/functions/system.sh was not specified as input (see shellcheck -x).


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 237:
		for i in $(grep -s "^/etc/uci-defaults/" "/usr/lib/opkg/info/${pkgname}.list"); do
                         ^-- SC2013 (info): To read lines rather than words, pipe/redirect to a 'while read' loop.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 238:
			( [ -f "$i" ] && cd "$(dirname $i)" && . "$i" ) && rm -f "$i"
                                                       ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                 ^--^ SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.

Did you mean: 
			( [ -f "$i" ] && cd "$(dirname "$i")" && . "$i" ) && rm -f "$i"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 245:
	local shell="$(which bash)"
        ^---------^ 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/functions.sh line 246:
	for i in $(grep -s "^/etc/init.d/" "$root/usr/lib/opkg/info/${pkgname}.list"); do
                 ^-- SC2013 (info): To read lines rather than words, pipe/redirect to a 'while read' loop.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 261:
	local file
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 263:
	for file in $(ls $1/*.sh 2>/dev/null); do
                    ^-----------------------^ SC2045 (error): Iterating over ls output is fragile. Use globs.
                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	for file in $(ls "$1"/*.sh 2>/dev/null); do


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 264:
		. $file
                  ^---^ SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.
                  ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		. "$file"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 269:
	local PART="$(grep "\"$1\"" /proc/mtd | awk -F: '{print $1}')"
        ^--------^ 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/functions.sh line 270:
	local INDEX="${PART##mtd}"
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 272:
	echo ${INDEX}
             ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	echo "${INDEX}"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 276:
	local INDEX=$(find_mtd_index "$1")
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^---^ SC2155 (warning): Declare and assign separately to avoid masking return values.
                    ^--------------------^ SC2046 (warning): Quote this to prevent word splitting.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 277:
	local PREFIX=/dev/mtdblock
        ^----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 284:
	local name="$1"
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 285:
	local gid="$2"
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 286:
	local rc
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 289:
	echo "${name}:x:${gid}:" >> ${IPKG_INSTROOT}/etc/group
                                    ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	echo "${name}:x:${gid}:" >> "${IPKG_INSTROOT}"/etc/group


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 294:
	grep -qs "^${1}:" ${IPKG_INSTROOT}/etc/group
                          ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	grep -qs "^${1}:" "${IPKG_INSTROOT}"/etc/group


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 298:
	local gid gids
        ^------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 299:
	gid=$(grep -s "^${1}:" ${IPKG_INSTROOT}/etc/group | cut -d: -f3)
                               ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	gid=$(grep -s "^${1}:" "${IPKG_INSTROOT}"/etc/group | cut -d: -f3)


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 301:
		echo $gid
                     ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		echo "$gid"


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 304:
	gids=$(cat ${IPKG_INSTROOT}/etc/group | cut -d: -f3)
                   ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	gids=$(cat "${IPKG_INSTROOT}"/etc/group | cut -d: -f3)


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 306:
	while [ -n "$(echo "$gids" | grep "^$gid$")" ] ; do
                ^-- SC2143 (style): Use grep -q instead of comparing output with [ -n .. ].


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 309:
	group_add $1 $gid
                  ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	group_add "$1" $gid


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 314:
	local grp delim=","
        ^-------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 315:
	grp=$(grep -s "^${1}:" ${IPKG_INSTROOT}/etc/group)
                               ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	grp=$(grep -s "^${1}:" "${IPKG_INSTROOT}"/etc/group)


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 316:
	[ -z "$(echo $grp | cut -d: -f4 | grep $2)" ] || return
          ^-- SC2143 (style): Use ! grep -q instead of comparing output with [ -z .. ].
                     ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -z "$(echo "$grp" | cut -d: -f4 | grep "$2")" ] || return


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 317:
	[ -n "$(echo $grp | grep ":$")" ] && delim=""
          ^-- SC2143 (style): Use grep -q instead of comparing output with [ -n .. ].
                     ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -n "$(echo "$grp" | grep ":$")" ] && delim=""


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 319:
	sed -i "s/$grp/$grp$delim$2/g" ${IPKG_INSTROOT}/etc/group
                                       ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	sed -i "s/$grp/$grp$delim$2/g" "${IPKG_INSTROOT}"/etc/group


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 324:
	local name="${1}"
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 325:
	local uid="${2}"
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 326:
	local gid="${3}"
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 327:
	local desc="${4:-$1}"
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 328:
	local home="${5:-/var/run/$1}"
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 329:
	local shell="${6:-/bin/false}"
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 330:
	local rc
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^-- SC2034 (warning): rc appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 332:
		uids=$(cat ${IPKG_INSTROOT}/etc/passwd | cut -d: -f3)
                           ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		uids=$(cat "${IPKG_INSTROOT}"/etc/passwd | cut -d: -f3)


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 334:
		while [ -n "$(echo "$uids" | grep "^$uid$")" ] ; do
                        ^-- SC2143 (style): Use grep -q instead of comparing output with [ -n .. ].


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 341:
	echo "${name}:x:${uid}:${gid}:${desc}:${home}:${shell}" >> ${IPKG_INSTROOT}/etc/passwd
                                                                   ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	echo "${name}:x:${uid}:${gid}:${desc}:${home}:${shell}" >> "${IPKG_INSTROOT}"/etc/passwd


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 342:
	echo "${name}:x:0:0:99999:7:::" >> ${IPKG_INSTROOT}/etc/shadow
                                           ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	echo "${name}:x:0:0:99999:7:::" >> "${IPKG_INSTROOT}"/etc/shadow


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 347:
	grep -qs "^${1}:" ${IPKG_INSTROOT}/etc/passwd
                          ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	grep -qs "^${1}:" "${IPKG_INSTROOT}"/etc/passwd


In /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/functions.sh line 354:
[ -z "$IPKG_INSTROOT" -a -f /lib/config/uci.sh ] && . /lib/config/uci.sh
                      ^-- SC2166 (warning): Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
                                                      ^----------------^ SC1091 (info): Not following: /lib/config/uci.sh was not specified as input (see shellcheck -x).

For more information:
  https://www.shellcheck.net/wiki/SC2045 -- Iterating over ls output is fragi...
  https://www.shellcheck.net/wiki/SC1090 -- ShellCheck can't follow non-const...
  https://www.shellcheck.net/wiki/SC2034 -- LOAD_STATE appears unused. Verify...