Como fazer edições no Windows para arquivos em um servidor linux?

0

Eu tenho uma conexão SMB para um host do Ubuntu Server 12.10 que tem scripts de shell e arquivos de configuração que quero editar com um cliente Windows 7 usando o Notepad ++. Consigo abrir os arquivos e fazer alterações, mas assim que os salvo, sem alterações na codificação de caracteres, eles ficam ilegíveis no host.

Como posso editar e salvar os arquivos no Windows 7 para que eles possam ser lidos e executados no Ubuntu Server 12.10?

    
por Keyslinger 16.01.2013 / 16:14

2 respostas

4

EDIT: Você pode habilitar a terminação de linha Unix no Notepad ++ em Editar - > Conversão EOL - > Formato Unix.

Um dos problemas mais comuns com compatibilidade de arquivos de texto entre sistemas Unix e Windows é que a noção de terminação de linha do Windows é CRLF (carriage-return + linefeed, ascii 13 e 10), enquanto Unix usa apenas LF (10). Isso provavelmente está causando um erro como ./foo.sh: bad interpreter: /bin/sh^M: no such file or directory .

Existe um utilitário chamado dos2unix que irá converter qualquer arquivo existente para você, no lado do Ubuntu:

apt-get install dos2unix
dos2unix myscript.sh

Isso modifica o arquivo no local para remover os CRs.

    
por 16.01.2013 / 16:22
0

Como Jim disse, o problema é provavelmente o término da linha. Você pode corrigir isso no servidor Linux executando este comando em seus arquivos modificados:

sed -i 'N;s/\r\n/\n/g' file
    
por 16.01.2013 / 16:33