Como já foi mencionado, o Windows usa \n\r
como separador de linha. Agora que você tem o \r
s no seu .bash_profile
, no entanto, você pode usar o utilitário dos2unix
para removê-los.
Instalei o CygWin no Windows 7. Utilizando o Bloco de Notas, editei meu arquivo ~ / .bash_profile para adicionar à variável PATH…
PATH="${PATH}:/cygdrive/c/apache-ant-1.8.2/bin"
Agora, quando eu SSH na minha máquina Windows, eu recebo este erro ...
-bash: $'\r': command not found
-bash: $'\r': command not found
-bash: $'\r': command not found
-bash: $'\r': command not found
-bash: $'\r': command not found
-bash: /home/dev/.bash_profile: line 39: syntax error: unexpected end of file
e meu PATH não está definido. Alguém sabe como eu posso corrigir isso?
Como já foi mencionado, o Windows usa \n\r
como separador de linha. Agora que você tem o \r
s no seu .bash_profile
, no entanto, você pode usar o utilitário dos2unix
para removê-los.
Provavelmente, o bloco de notas adicionou alguns $'\r'
, i. e. CR
caracteres - como é normal no Windows ter o CRLF como terminador de linha.
A solução seria usar outro editor que seja capaz de manter os finais de linha como estão, e. g. vim para Windows ou Notepad2.
Dependendo do ambiente que você está usando, você pode ficar preso a scripts contendo CRLF, ou seja, ao usar o Visual SourceSafe, o Perforce for Windows etc. para armazenar seus arquivos. No entanto, o bash tem uma maneira universal de contornar este problema:
export SHELLOPTS
set -o igncr
Se você colocar isso no início do seu .bash_profile ou outro script de inicialização que você esteja usando, você está sem problemas, pois as seqüências do CRLF antes do primeiro comando no seu script de inicialização não são prejudiciais.