Retorno de transporte de impressão terminal como ^ M ?? [linux me dizendo para parar de codificar?]

1

Eu estava escrevendo um script no vim, larguei meu teclado e continuei codificando.

Eu não percebi que meu cursor mudou do cursor normal do tipo _ para um bloco []. (como se eu batesse inserir em um terminal do windows)
Eu comecei meu script, e recebi um erro bin / bash ^ M: bad intérprete.

Com bastante googling, ^ M é o retorno de carro dos ... mas quando eu aperto entre no terminal, parece um retorno normal de carro. Mas bash interpreta como ^ M.

Eu praticamente teclado bateu para ver o que na terra eu bati para mudar isso. alguém pode me ajudar aqui?

    
por Patrick S 06.06.2011 / 09:21

2 respostas

3

Quando você derrubou o teclado, ele não apenas pressionou a tecla Insert , como também conseguiu inserir o comando :set tx . Execute o comando :set fileformat=unix no buffer de edição do arquivo em questão e, em seguida, salve novamente o buffer.

    
por 06.06.2011 / 13:11
0

Para converter um arquivo com terminadores de linha CRLF para LF, execute:

sed 's/\r$//' -i your-script-filename

Se for um problema no vim (e não no seu terminal), veja gVim mostrando o retorno de carro (^ M) mesmo quando o modo de arquivo é explicitamente DOS

    
por 06.06.2011 / 10:05