Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I installed CygWin on Windows 7. Using Notepad, I edited my ~/.bash_profile file to add on to the PATH variable …


Now, when I SSH in to my Windows machine, I get this error …

-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

and my PATH is not set. Anyone know how I can correct this?

share|improve this question

migrated from Sep 1 '11 at 14:26

This question came from our site for professional and enthusiast programmers.

Egads, don't ever use notepad to edit a unix file. It adds the \r character at line endings, and as bash reported, it isn't tolerated very well. Run d2u .bash_profile to fix it. Also, you should ask questions like this on superuser not stackoverflow. – Amardeep Sep 1 '11 at 13:40

As mentioned already, Windows uses \n\r as line separator. Now that you've got the \rs in your .bash_profile, however, you can use the utility dos2unix to remove them.

share|improve this answer
Windows uses \r\n, not \n\r. – Keith Thompson Sep 1 '11 at 14:41

Probably notepad has added some $'\r', i. e. CR characters - as it is usual under Windows to have CRLF as line terminator.

The solution would be to use another editor which is capable to keep the line endings as they are, e. g. vim for Windows, or Notepad2.

share|improve this answer
This is not an answer. This is a comment. – musiKk Sep 1 '11 at 13:54
I'm usually bothered by answers that should be comments, but this does imply that the OP should just stop using Notepad, and as such I think it qualifies as an answer (if not a very good one). – Pops Sep 1 '11 at 20:04
Extended the answer in order to qualify as one. Are there any alternatives to changing the editor? – glglgl Sep 2 '11 at 7:46

Depending on the environment you are using, you might be stuck with scripts containing CRLF, i.e. when using Visual SourceSafe, Perforce for Windows etc. to store your files. However, bash has a universal way to get around this problem:

set -o igncr

If you put this at the start of your .bash_profile or other startup script you may be using, you are out of trouble, as the CRLF sequences before the first command in your startup script do not hurt.

share|improve this answer

You must log in to answer this question.