我有一些窗口,使用Cygwin,试图通过.bashrc文件永久地设置JAVA_HOME。
.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
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'
我不确定我从教程中获取的命令是针对另一个系统的,还是我遗漏了一个步骤。或者空格导致我的命令不能正常运行。
我看过很多类似的问题,但我还没有找到一个问题完全有我的错误。
我的家乡路:
$ echo $HOME
/cygdrive/c/Users/jhsu
$ echo ~
/cygdrive/c/Users/jhsu/
所以我认为文件应该放在正确的位置。
如果在Cygwin安装中安装了vim包,则可以使用vim来修复此问题,而无需查找和替换。启动vim,如下所示:vim filename.sh(通常也别名为vi)。然后,输入:set fileformat=unix,然后:wq (write & quit)保存更改。(该:使您进入vim的编辑模式。)
我推荐它而不是dos2unix,因为vim可能更常被安装。
但是,最好的做法是将文本编辑器设置为将计划在Unix/Linux环境中使用的文件保存为Unix文本格式。上面给出的notepad++的答案就是一个很好的例子。
附加提示:如果您不确定文件类型(DOS或Unix),您可以使用文件filename.sh。这尤其有助于调试更模糊的问题(例如从Windows导入SQL转储时的编码问题)。
有关如何修改文本文件格式的其他选项,请参阅这篇IU知识库文章
关于Bash脚本和行尾的更多背景信息可以在这个StackOverflow问题中找到。
如果在Cygwin安装中安装了vim包,则可以使用vim来修复此问题,而无需查找和替换。启动vim,如下所示:vim filename.sh(通常也别名为vi)。然后,输入:set fileformat=unix,然后:wq (write & quit)保存更改。(该:使您进入vim的编辑模式。)
我推荐它而不是dos2unix,因为vim可能更常被安装。
但是,最好的做法是将文本编辑器设置为将计划在Unix/Linux环境中使用的文件保存为Unix文本格式。上面给出的notepad++的答案就是一个很好的例子。
附加提示:如果您不确定文件类型(DOS或Unix),您可以使用文件filename.sh。这尤其有助于调试更模糊的问题(例如从Windows导入SQL转储时的编码问题)。
有关如何修改文本文件格式的其他选项,请参阅这篇IU知识库文章
关于Bash脚本和行尾的更多背景信息可以在这个StackOverflow问题中找到。