【发布时间】:2015-05-08 01:03:17
【问题描述】:
我想创建一个 shell 别名来连接到我完成所有工作的目录。我在 .bashrc 文件中尝试了以下内容:
alias gitImmersion="cd 'c:/java/Git-Immersion/git_tutorial/work'"
和
alias gitImmersion='cd c:/java/Git-Immersion/git_tutorial/work'
在这两种情况下,我都会得到一个No such file or directory error,但是当我手动输入命令时它会起作用。我不知道它是否相关,但由于我修改了我的 .bashrc 文件,所以我在启动 cygwin 时收到了几个 -bash:$'\r': command not found 错误。感谢您的帮助。
【问题讨论】:
-
这些错误意味着你用 DOS 行结束符保存了文件,它们会混淆 bash。在文件上运行
dos2unix,看看是否修复了错误和别名(在这种情况下,两者都应该工作,但如果路径需要引用第一个是必要的)。 -
dos2unix 解决了这个问题。我尝试使用 Ansi 编码使用记事本保存它,但这没有帮助。是否有一个我可以在 Windows 上使用的编辑器,它可以保持 unix 风格,还是我每次进行更改时只需要运行 dos2unix?谢谢您的帮助!顺便说一句,我在 .bashrc 文件中使用了别名 gitImmersion="cd 'c:/java/Git-Immersion/git_tutorial/work'"。
-
这不是“编码”问题。这是一个行尾问题。任何可以控制行尾的编辑器都可以使用。 (这排除了记事本和写字板,但几乎任何其他称职的编辑都可以做到。)
-
那么使用 NotePad+ 并将其保存为 Unix 脚本文件可以吗?谢谢!
-
是的,应该可以正常工作。