我有一個perl腳本,從遠程服務器抓取一些文件,我希望能夠表示進度。我試圖做到這一點的方法是這樣的:cygwin似乎吞嚥我的回車
print "\tDownloading comp.reg.binary.sdiff.log...\n";
if(does_file_exist('comp.reg.binary.sdiff.log', @ret)){
$sftp->get("t-gds/log/comp.reg.binary.sdiff.log", $saveDir, sub {
my($sftp, $data, $offset, $size) = @_;
print "\tRead $offset of $size bytes\r";
});
print "\n\tDownloaded.\n";
}else{
print "\tFile not found on server...skipping.\n";
}
然而,cygwin的似乎吞下回車和不打印任何東西,直到最後的打印語句。我懷疑這是因爲腳本運行速度太快,因爲當我將\ r更改爲\ n時,我可以看到它們慢慢地打印出來。
有沒有人有任何想法,爲什麼它不應該如此工作?
你說得對,我不知道。 – Malfist