[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re:[shell-script] Problemas...
From: |
MrBiTs |
Subject: |
Re:[shell-script] Problemas... |
Date: |
Sun, 10 Jul 2005 08:58:29 -0300 |
> eu rodo perfeitamente scripts no meu cygwin mas quando
> passo-os para o linux, todos os scripts q usam, por
> exemplo, if, for.. etc dao esse maldito erro "syntax
> error: unexpected end of file" e isso é independente
> de como o arquivo termina, se termina com um fi ou com
> um comando simples, sempre da o mesmo erro
PROVAVELMENTE você mandou o Cygwin gravar seus arquivos como Windows e não como
Unix. O que você tem quando, em Linux, executa um cat -vet script ? Se ele
retornar algo assim:
#!/bin/bash^M$
^M$
echo Teste^M$
ls -l^M$
esse é o seu problema. Os caracteres de final de linha e retorno do carro em
Unix são diferentes dos caracteres em Windows.
Faça algo assim:
tr -d "\r" < script > script2
e o cat -vet script2 deve trazer:
#!/bin/bash$
$
echo Teste$
ls -l$
e seu script deverá rodar corretamente agora.
Algumas distribuições vem com um utilitário chamado dos2unix, e as funçõeszz do
Aurélio também possuem uma função similar ( zzdos2linux ), que fazem exatamente
esse trabalho para você.
O que você precisa fazer é reconfigurar seu Cygwin para gravar os arquivos em
formato Unix e você não terá mais esse tipo de problema.
[As partes desta mensagem que não continham texto foram removidas]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re:[shell-script] Problemas...,
MrBiTs <=