在工作中,我使用了很多Cygwin,因为它为我提供了广阔的Windows沙漠中的一片绿洲。我不可避免地最终通过bash shell运行了一些非Cygwin程序,比如构建脚本(内部创建的批处理文件)和Subversion CLI二进制文件(我安装了Windows)。 99%的时间,我没有任何问题,使用此设置。然而,另外1%会导致一个奇怪的问题:输入密钥有时在cygwin下的Windows应用程序中无法识别
对于构建脚本和SVN,大部分时间都是正确解释输入键。例如,我将启动数据库创建脚本,它会提示我输入服务器名称。我输入“localhost”并回车。一切安好。然后,如果出现错误,它会结束,并使用more
打印出来。我按下的任何键都不会被more
识别。我不得不按Ctrl-C。
同样,如果我做了Subversion更新,通常一切都很好。然而,在交互式冲突解决方案发生的情况下,通常我会输入“tf”作为“他们的完整”并回车,但没有任何反应。我必须Ctrl-C离开它,并通过强制合并重新运行更新,或者在Windows中使用TortoiseSVN来执行此操作。
任何想法为什么Cygwin似乎随机不会通过输入键通过程序?我认为这可能与Unix和Windows风格的行结尾有关,所以我尝试手动输入这些字符,但这似乎没有什么区别。谢谢。
编辑:我刚刚发生过这种事,我意识到了一些事情。这是SVN提示我输入密码。我输入密码,它回显到屏幕(坏),然后回车......没有任何东西。点击再输入几次,光标移动,但没有任何反应。我按Ctrl-C,它将我转回到bash,然后说“bash:[我的密码]:命令未找到”,后面跟着许多等于我按下回车键的次数的新提示。所以发生了什么事是输入从来没有将它输入到SVN中,但是在SVN退出后不知何故被bash读取。我认为这可能会帮助人们弄清楚发生了什么。
是你确定它不只是你的输入键被破坏了吗? :-) – JesperE 2008-10-14 20:03:22