shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Variável perde o valor, do nada


From: Paulo Soares Drumond
Subject: Variável perde o valor, do nada
Date: Wed, 12 Nov 2008 10:16:35 -0200

Pessoal, estou desenvolvendo um shell script que pega todos os
usuários de alguns grupos já existentes para inseri-los em um novo
grupo secundário. A idéia é simples. Este while está no fim do script,
quando eu preparei minha lista com os nomes dos usuários para inserir
na linha de group do novo grupo.

Acontece que na linha final, lá embaixo, a variável "lstusers" está
aparecendo sempre vazia. No último echo dentro do while, lstusers
aparece normalmente com todos os nomes. O que pode estar acontecendo?

Para entender, listaIDs contém a lista dos ids dos grupos dos quais
vou pegar os usuários. listaIDs está com o formato ":<id1>: :<id2>:
...".

lstusers=""

cat passwd | 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

# O problema está na linha abaixo
echo "Lstusers vale $lstusers"

Paulo


reply via email to

[Prev in Thread] Current Thread [Next in Thread]