I have windows, using Cygwin, trying to set JAVA_HOME permanently through my .bashrc file.
.bashrc:
export PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME=$JAVA_HOME:"/cygdrive/c/Program Files (x86)/Java/jdk1.7.0_05"
.bash_profile:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
running cygwin:
-bash: $'\377\376if': command not found
-bash: $'then\r': command not found
: No such file or directorysu//.bashrc
-bash: /cygdrive/c/Users/jhsu//.bash_profile: line 3: syntax error near unexpected token `fi'
-bash: /cygdrive/c/Users/jhsu//.bash_profile: line 3: `fi'
I am not sure if I took the commands from a tutorial that was meant for another system or if I am missing a step. Or whitespace is causing my commands not to run properly.
I’ve looked at multiple similar questions but I haven’t found one where the question has my error exactly.
My home path:
$ echo $HOME
/cygdrive/c/Users/jhsu
$ echo ~
/cygdrive/c/Users/jhsu/
So I believe the files should be placed in the correct spot.
When all else fails in Cygwin…
Try running the
dos2unixcommand on the file in question.It might help when you see error messages like this:
-bash: '\r': command not foundWindows style newline characters can cause issues in Cygwin.
The
dos2unixcommand modifies newline characters so they are Unix / Cygwin compatible.CAUTION: the dos2unix command modifies files in place, so take precaution if necessary.
If you need to keep the original file, you should back it up first.
Note for Mac users: The
dos2unixcommand does not exist on Mac OS X.Check out this answer for a variety of solutions using different tools.
There is also a
unix2doscommand that does the reverse:It modifies Unix newline characters so they’re compatible with Windows tools.
If you open a file with Notepad and all the lines run together, try
unix2dos filename.