Tente fazer assim:

lstusers=""

while read LINHA
do
    idcurr=$(echo $LINHA | awk -F: '{print $4}')
    nome=$(echo $LINHA | awk -F: '{print $1}')
    idcurr=":$idcurr:"

    if [ ! -z $idcurr ]
    then
        achei=$(echo $listaIDs | grep -c $idcurr)
        if [ $achei -ne 0 ]
        then
            if [ -z $lstusers ]
            then
                lstusers=$nome
            else
                lstusers="$lstusers,$nome"
            fi
        fi
    fi

    # Na linha abaixo, lstusers aparece corretamente.
    echo "Ao sair do if principal do while lstusers vale $lstusers"

done < <(cat /etc/passwd)
>
>
> 
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a