2011-11-01 47 views
1

如果我打開調試功能(這是我繼承的某些測試腳本所需的),那麼ftp客戶端會嘗試使用SYST命令。這會導致腳本正在監視的預期命令和響應與預期響應相比不同步。我該如何防止Debian FTP使用SYST命令

有沒有辦法告訴客戶端不應該使用SYST命令?

回答

0

除非您修改了ftp源代碼,否則您會被ftp認爲對於調試非常有價值。

你應該能夠用ftp .... 2>&1 | grep -v SYST來過濾掉SYST,但這意味着修改代碼。您的客戶端可能不會將其調試輸出發送到stderr,因此也要進行測試。

有很多版本的ftp客戶端,所以也許你可以找到一個你可以安裝的替代品,它可以讓你輸出更清晰的輸出。

最後,考慮調試代碼的備用策略。考慮在這裏發佈編輯內容,以包含錯誤消息或其他系統生成的消息,以顯示問題的具體性質。

+0

我已經通過使解析器期望502不受支持的SYST返回來解決它。它曾經是一個基於期望的系統,但有人用Perl重寫了它,而沒有使用Net:FTP。可能還有其他客戶端命令(remotehelp)需要不同的處理。也許我應該將測試轉換爲其他不需要人來維護Perl代碼的其他語言/框架! –

+0

是的,很遺憾地說,這聽起來像是你踏入了一堆。那麼,如果它的供應商推銷員告訴CIO,我們都會失業;-)祝你好運! – shellter