'\ r':找不到命令 - .bashrc / .bash_profile?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (179)

我有一个windows系统,我想使用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'

空白导致我的命令不能正常运行。

我已经看了很多类似的问题,但我还没有找到一个解决问题的办法。

我的home路径:

$ echo $HOME
/cygdrive/c/Users/jhsu
$ echo ~
/cygdrive/c/Users/jhsu/
提问于
用户回答回答于

对于那些没有安装dos2unix的用户

删除\r导致此错误的尾随字符:

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

说明

选项-i就地编辑,\r直接在输入文件中删除尾部。因此请小心。

用户回答回答于

当Cygwin中的所有其他功能都失败时

尝试dos2unix在相关文件上运行命令。

当你看到这样的错误信息时可能会有所帮助:

-bash: '\r': command not found

Windows样式的换行符可能会导致Cygwin中的问题。

dos2unix命令修改换行符,使它们与Unix / Cygwin兼容。

注意:该命令unix2dos修改文件的地方,所以在必要时采取预防措施。

如果你需要保留原始文件,则应先备份。

Mac用户请注意:dos2unix命令在Mac OS X中不存在。

看看这个答案的各种解决方案使用不同的工具。

还有一个unix2dos命令是相反的:

它修改Unix换行符,使它们与Windows工具兼容。

如果您用记事本打开一个文件,并且所有行一起运行,请尝试unix2dos filename

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问5 回答
  • uncle_light

    5 粉丝518 提问3 回答
  • 学生

    2 粉丝477 提问3 回答
  • 军哥

    重庆雷驰信息技术有限公司 · 经理 (已认证)

    5 粉丝1 提问3 回答

扫码关注云+社区

领取腾讯云代金券