bom, voltando ao shell a estrutura while ... done que vc escreveu está correta. a unica forma do shell não compreender o done seria se ele estivesse lendo outra coisa como done1, dones, done_ ou done\r
entretanto eu fico preocupado com o fato do \r não ter atrapalhado o hashbang #!/bin/bash -- deveria ser lido como /bin/bash\r e isso causaria um "bad interpreter" [ a menos que vc executou o script fazendo bash script.sh e não ./script.sh ]. por isso te sugeri que fizesse um cat -A arquivo , se o done tiver algum caracter diferente grudado como um ^M (que simboliza o \r) o seu problema está ai, caso contrario é outro problema. O bad interpreter eu ja abordei aqui: http://peczenyj.blogspot.com/2007/07/resolvendo-problemas-comuns-2-bad.html Bueno, quatro coisas podem atrapalhar quando vc passa um arquivo texto do windows pro unix: - final de linha \r\n ( 99% dos casos ) - encoding diferente (parece texto puro, mas é um UTF-8 ou algo mais exótico) - ftp de arquivo no modo bin (ja vi acontecer, por incrivel que pareça) - sem falar na lei de murphy :) se o problema não estiver nos caracteres ( \r ) nem na codificação ( eu uso sempre ASCII purinho da silva ) então o seu while é pouco 'robusto'. O fato é que a variavel answer possui um \r no final do seu valor (mensagem de debug : y\r ) e isso é indicio do problema com nova linha do windows. Enfim, verifique com o cat -A ;-) [off] Não conheço o EditPlus tão bem. Eu uso o Scite no Windows e ele tem uma opção para salvar com final de linha do unix, veja se existe recurso semelhante. No Cygwin eu uso o Vi -- basta se acostumar. [ veja também: http://www.aurelio.net/cygwin/ ] [/off] On 8/31/07, Mÿffffe4rcio Borges <[EMAIL PROTECTED]> wrote: > Outra pergunta Tiago, no Cygwin qual o Editor ? Estou rodando no script no > XP, tenho instalado o Cygwin. > > grato -- Tiago B Peczenyj Linux User #405772 http://peczenyj.blogspot.com/
