在工作中,我使用了很多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