在Windows命令行和Cygwin bash的我可以執行以下沒有問題:爲什麼Cygwin CVS無法讀取Ruby/Perl腳本中的CVS密碼文件?
cvs login
cvs -Q log -N -rVersion_01_00
在同一目錄中的Ruby腳本包含以下內容:
`cvs login`;
`cvs -Q log -N -rVersion_01_00`;
當我在執行Ruby腳本Windows命令行我得到以下錯誤:
cvs log: warning: failed to open /cygdrive/c/Documents and Settings/za100744/.cvspass for reading: No such file or directory
如果我在cygwin bash shell中運行腳本,我得到sam e輸出,我會手動輸入命令。
我不知道發生了什麼問題。 Ruby腳本生成的路徑是錯誤的,因爲它是一個cygwin路徑,但它直接在命令行上正確運行。我使用之際,cygwin的一部分CVS:
which cvs
cvs is an external : C:\cygwin\bin\cvs.exe
Ruby是一鍵安裝版本:
which ruby
/cygdrive/c/Ruby/bin/ruby
好像紅寶石下CVS無法解決/ cygdrive/C到c:但從cmdline可以正常工作。
Perl給了我完全相同的問題。
my $str = "cvs -Q log -N -r$cvs_tag|";
open(CVS_STATUS, $str) or die "\n##ERROR##";
你的ruby/perl,他們是不是也來自cygwin? – 2009-09-15 13:30:38
Ruby和perl不是Cygwin。 – Gerhard 2009-09-16 05:16:56