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 <rosenp@gmail.com>
[correct || to && for one conversion]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
master
Rosen Penev 4 years ago committed by Adrian Schmutzler
parent 26105974e7
commit 8df14c229c

@ -326,7 +326,7 @@ group_add_next() {
fi fi
gids=$(cut -d: -f3 ${IPKG_INSTROOT}/etc/group) gids=$(cut -d: -f3 ${IPKG_INSTROOT}/etc/group)
gid=65536 gid=65536
while [ -n "$(echo "$gids" | grep "^$gid$")" ] ; do while echo "$gids" | grep -q "^$gid$"; do
gid=$((gid + 1)) gid=$((gid + 1))
done done
group_add $1 $gid group_add $1 $gid
@ -336,8 +336,8 @@ group_add_next() {
group_add_user() { group_add_user() {
local grp delim="," local grp delim=","
grp=$(grep -s "^${1}:" ${IPKG_INSTROOT}/etc/group) grp=$(grep -s "^${1}:" ${IPKG_INSTROOT}/etc/group)
[ -z "$(echo $grp | cut -d: -f4 | grep $2)" ] || return echo "$grp" | cut -d: -f4 | grep -q $2 && return
[ -n "$(echo $grp | grep ":$")" ] && delim="" echo "$grp" | grep -q ":$" && delim=""
[ -n "$IPKG_INSTROOT" ] || lock /var/lock/passwd [ -n "$IPKG_INSTROOT" ] || lock /var/lock/passwd
sed -i "s/$grp/$grp$delim$2/g" ${IPKG_INSTROOT}/etc/group sed -i "s/$grp/$grp$delim$2/g" ${IPKG_INSTROOT}/etc/group
[ -n "$IPKG_INSTROOT" ] || lock -u /var/lock/passwd [ -n "$IPKG_INSTROOT" ] || lock -u /var/lock/passwd
@ -354,7 +354,7 @@ user_add() {
[ -z "$uid" ] && { [ -z "$uid" ] && {
uids=$(cut -d: -f3 ${IPKG_INSTROOT}/etc/passwd) uids=$(cut -d: -f3 ${IPKG_INSTROOT}/etc/passwd)
uid=65536 uid=65536
while [ -n "$(echo "$uids" | grep "^$uid$")" ] ; do while echo "$uids" | grep -q "^$uid$"; do
uid=$((uid + 1)) uid=$((uid + 1))
done done
} }

Loading…
Cancel
Save