On Thu, 2019-07-25 at 10:14 +0200, Ulrich Mueller wrote:
> > > > > > On Thu, 25 Jul 2019, Michał Górny wrote:
> > - local defgroup=${egroups_arr[0]}
> > + local g groups=( "${egroups_arr[0]}" )
> > # sort supplementary groups to make comparison possible
> > - readarray -t exgroups_arr < <(printf '%s\n' "${egroups_arr[@]:1}" |
> > sort)
> > - local exgroups=${exgroups_arr[*]}
> > - echo "${defgroup}${exgroups:+,${exgroups// /,}}"
> > + while read -r g; do
> > + [[ -n ${g} ]] && groups+=( "${g}" )
> > + done < <(printf '%s\n' "${egroups_arr[@]:1}" | sort)
> > + groups=${groups[*]}
> > + echo "${groups// /,}"
> > }
>
> Why don't you make groups a scalar variable (i.e., a comma separated
> list) from the very beginning, if you're converting to it later anyway?
>
> local g groups=${egroups_arr[0]}
> # sort supplementary groups to make comparison possible
> while read -r g; do
> [[ -n ${g} ]] && groups+=",${g}"
> done < <(printf '%s\n' "${egroups_arr[@]:1}" | sort)
> echo "${groups}"Indeed. Will do. -- Best regards, Michał Górny
signature.asc
Description: This is a digitally signed message part
