Ver Feed RSS

info24hs

Sujeira em arquivos Shell Script

Avalie este Post de Blog
Semana passada após fazer backup do sistema linux para uma pen driver aconteceu um fato de dar dor de cabeça, usuários avançados detectariam com facilidade o problema, mas eu demorei 3 reinstalações de distros diferentes para conseguir rodar um simples script em bash.

Recebi tudo que foi tipo de erro... bad interpreter, Permissão negada, problema com as opções do #!/bin/sh -x em fim não conseguia rodar um simples script .sh

O que aconteceu: Os arquivos que eu fiz backup para a pen drive estavam com erro...

...quando salvei os scripts na pen driver deu o erro, como a pen driver era FAT16 o linux automaticamente converteu o script para texto DOS.

Texto DOS: cada linha termina com CR+LF (13+10 em decimal)
Texto Linux: cada linha termina apenas com LF.

Engraçado é que abrindo o .sh no Kate, Kwrite, Nano, não aparecia qualquer erro....

Essa abaixo é a referência que solucionou um pequeno contratempo..
http://www.vivaolinux.com.br/topico/...s-clientes-NIS

Dica:

1 - Nunca salve arquivos do linux e edite-os no windows.
2 - Não faça que nem eu fiz, testar um único arquivo se eu tivesse rodado qualquer outro .sh teria visto de cara que o problema era no arquivo e não no sistema..

Atualizado 22-09-2009 em 11:09 por info24hs

Categorias
Linux , Dicas

Comentários

  1. Avatar de Magnun
    É... isso é um problema comum pra quem usa 2 sistemas operacionais!! Mas pra windows, tem o notepad++ (que inclusive tem uma versão portátil para pen drives) que faz essa conversão de formato windows para unix e unix para windows.

    Boa dica!
  2. Avatar de MarcioRM
    Você pode utilizar o dos2unix, ele faz essa "limpeza".

+ Enviar Comentário