-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

| Realmente, tentei simplificar a pergunta, mas faltaram dados. Segue o
script
| completo.
|
| #!/bin/bash
| NOVA_QUOTA=30720
| for i in `cat perfil0.txt`
| do
|         utilizado=`head -1 /var/lib/imap/quota/q/user.$i`
|         n_quota_bytes=$(($NOVA_QUOTA*1024))
|         if [ $n_quota_bytes -gt $utilizado ]
|         then
|                mv /var/lib/imap/quota/q/user.$i
| /var/lib/imap/quota/q/user.$i.old
|                sed "2s/.*/$NOVA_QUOTA/"
/var/lib/imap/quota/q/user.$i.old >
| /var/lib/imap/quota/q/user.$i;chown cyrus.mail
/var/lib/imap/quota/q/user.$i
|         else
|                 echo $i - $(($utilizado/1024/1024)) >> quotas-cheias.txt
|         fi
| done

Simplificar nem sempre é o melhor caminho, ainda mais numa descrição de
problemas.

Vejamos. Você havia dito que, quando um arquivo ( $i ) não existe, o
laço é interrompido. Na verdade, nunca teremos um $i sozinho, mas sempre
um user.$i. Nesse caso, se user.$i não existe, a variável $utilizado não
~ terá nenhum valor e a comparação $n_quota_bytes -gt $utilizado dará um
erro e, aí sim, quebrará o laço. Creio ser esse o seu problema. Falto a
mensagem de erro.

Para certificar-se, rode o seu script com um bash -x ./script e
analise/poste o resultado.

Do resto, não há nada que faça o laço ser quebrado. Os comandos mv e sed
não quebram laços quando falham, a não ser que você mande o script fazer
isso explicitamente.


- --

Um abraço

.0. MrBiTs - [EMAIL PROTECTED]
..0 GnuPG  -
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkh/hYIACgkQrDdxWm3R8YajywCfTxcoqP0QJA5CyRLIv4XcXThK
MLwAn0jKIBfbwE0/o8yJPQSK4Espe2R3
=LqRt
-----END PGP SIGNATURE-----

Responder a