Em Segunda, 18 de Novembro de 2002 16:22, Brunhara escreveu: > (...) > sempre que meu script cria o user.bat do netlogon > da erro e por que esta falta o chr10 ou chr13 nao sei > (...) > trecho do script que cria o user.bat
O problema que voc� cita � o de que o EOL (End of line) do Linux � diferente do Windows. Isso pode ser resolvido com um comando sed que apresentarei ao final deste email. N�o creio que seja problemas **apenas** com o ASCII 010 ou 013... Da maneira como voc� descreveu o trecho de seu script, **pode** haver erros como n�o encontrar os computadores especificados (note que n�o conhe�o a sintaxe do programa que voc� est� executando). Veja a seguir meus "palpites". > > echo @echo off$Aspa>/home/netlogon/$Pref$COUNTER.bat atente para o espa�o ausente entre "$Aspa" e ">". > echo $Aspa net use f: \\$name\\$hd-sv$Aspa>> > /home/netlogon/$Pref$COUNTER.bat > echo $Aspa net use g: \\$name\\hd-$bk$Aspa>> > /home/netlogon/$Pref$COUNTER.bat > echo $Aspa net time \\$name /yes /set$Aspa>> > /home/netlogon/$Pref$COUNTER.bat as "\\" acima provavelmente n�o ter�o o efeito que voc� deseja, supondo que voc� esteja se referindo a um computador na rede, como "\\fulano". "\\" ser� interpretado pelo "echo" como "\". Sugiro as seguintes mudan�as, ao menos neste trecho do script: --- # PRIMEIRA SUGEST�O: mais "conservadora" # Suponho que "$Aspa" sejam as aspas que normalmente isolam a mensagem a # ser mostrada pelo echo, mas mantive intacto pois posso estar enganado ;-) # Suponho que as "\\" devam ser interpretadas como refer�ncia a nomes de # computadores em rede, mas as deixei intactas na d�vida. # Pessoalmente, n�o fa�o id�ia do que este trecho de script faz, da maneira # como est� apresentado. echo @echo off$Aspa \ >/home/netlogon/$Pref$COUNTER.bat echo $Aspa net use f: \\$name\\$hd-sv$Aspa \ >>/home/netlogon/$Pref$COUNTER.bat echo $Aspa net use g: \\$name\\hd-$bk$Aspa \ >>/home/netlogon/$Pref$COUNTER.bat echo $Aspa net time \\$name /yes /set$Aspa \ >>/home/netlogon/$Pref$COUNTER.bat --- # SEGUNDA SUGEST�O: mais "radical" # Aqui aplico todas as suposi��es a que me referi acima. echo "@echo off" \ >/home/netlogon/$Pref$COUNTER.bat echo "net use f: \\\\$name\\\\$hd-sv" \ >>/home/netlogon/$Pref$COUNTER.bat echo "net use g: \\\\$name\\\\hd-$bk" \ >>/home/netlogon/$Pref$COUNTER.bat echo "net time \\\\$name /yes /set" \ >>/home/netlogon/$Pref$COUNTER.bat --- N�o importando qual sugest�o voc� utilizou (ou mesmo se n�o utilizou nenhuma), aqui vai o comando que substitui o EOL para o do DOS/Windows (a ser executado ap�s o trecho de script que voc� citou): mv /home/netlogon/$Pref$COUNTER.bat \ /home/netlogon/$Pref$COUNTER.bat.orig sed 's/$'"/`echo -e \\\r`/" /home/netlogon/$Pref$COUNTER.bat.orig > \ /home/netlogon/$Pref$COUNTER.bat rm /home/netlogon/$Pref$COUNTER.bat.orig -- Anderson Lizardo Linux User #253643 Assinantes em 18/11/2002: 2249 Mensagens recebidas desde 07/01/1999: 190608 Historico e [des]cadastramento: http://linux-br.conectiva.com.br Assuntos administrativos e problemas com a lista: mailto:[EMAIL PROTECTED]
