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