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]

Responder a