From: Rosen Penev Date: Fri, 17 Jan 2020 22:36:29 +0000 (-0800) Subject: base-files/functions.sh: use grep -q instead of [] X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=8df14c229c02a3b9329afc6e3ebf4f8aec5b59ed;p=openwrt%2Fstaging%2Fthess.git base-files/functions.sh: use grep -q instead of [] It's cleaner and faster as it does not need to do extra work. Also removed $() to avoid executing the output. The shell can handle it. https://github.com/koalaman/shellcheck/wiki/SC2143 Signed-off-by: Rosen Penev [correct || to && for one conversion] Signed-off-by: Adrian Schmutzler --- diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 8e189e4f4d..d2edef1a34 100755 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -326,7 +326,7 @@ group_add_next() { fi gids=$(cut -d: -f3 ${IPKG_INSTROOT}/etc/group) gid=65536 - while [ -n "$(echo "$gids" | grep "^$gid$")" ] ; do + while echo "$gids" | grep -q "^$gid$"; do gid=$((gid + 1)) done group_add $1 $gid @@ -336,8 +336,8 @@ group_add_next() { group_add_user() { local grp delim="," grp=$(grep -s "^${1}:" ${IPKG_INSTROOT}/etc/group) - [ -z "$(echo $grp | cut -d: -f4 | grep $2)" ] || return - [ -n "$(echo $grp | grep ":$")" ] && delim="" + echo "$grp" | cut -d: -f4 | grep -q $2 && return + echo "$grp" | grep -q ":$" && delim="" [ -n "$IPKG_INSTROOT" ] || lock /var/lock/passwd sed -i "s/$grp/$grp$delim$2/g" ${IPKG_INSTROOT}/etc/group [ -n "$IPKG_INSTROOT" ] || lock -u /var/lock/passwd @@ -354,7 +354,7 @@ user_add() { [ -z "$uid" ] && { uids=$(cut -d: -f3 ${IPKG_INSTROOT}/etc/passwd) uid=65536 - while [ -n "$(echo "$uids" | grep "^$uid$")" ] ; do + while echo "$uids" | grep -q "^$uid$"; do uid=$((uid + 1)) done }